python 爬蟲框架Scrapy使用方法

2021-01-20 23設計

Python作為腳本語言,功能非常強大,這裡介紹一下爬蟲框架Scrapy有安裝及使用方法介紹。

一、安裝篇

python3在安裝scrapy時,需要twisted的支持,但安裝twisted會需要visual studio的支持,詳見本人的另一文章Python 3.5 安裝scrapy無法找到vcvarsall.bat解決方案.

pip3 install twistedpip install scrapy

二、使用介紹

開始項目scrapy startproject project

此時會生成一個目錄結構如下:

2. shell工具介紹

scrapy自帶shell工具,是進行測試的好地方,我們以起點小說網為例,網址為:https://www.qidian.com/

scrapy shell運行後,我們可藉助一些函數進行數據定位、解析、子連結的提取:

view(response) 查看網頁fetch(url|) 抓新的網頁response.css('a[href') #scrapy內置css選擇器,具體請百度其它文章extractor_first() #解析文本extractor() #解析列表from scrapy.linkextractors import LinkExtractorle=LinkExtractor(restrict_css('a[href]')links=le.extract_links(le)#以上這段代碼用來提取連結

3. 爬蟲實現

3.1 先建一個要爬取內容的類ProjectItem, 存入items.py

3.2 我們在spider文件夾下建一個novelspider.py,寫入相關代碼

此時我們就要用到scrapy shell 幫忙測試了,比如我們要抓取《重生之財源滾滾》這本小說的小說名,可以在shell下用如下代碼得到:

scrapy shell https://www.qidian.com/finishnovels=response.css('.book-mid-info')novels[i].css('h4 a[href]::text').extract_first()'重生之財源滾滾'

通過上面的代碼,我們把小說名給抓出來了.同理可以抓其它欄位,具體代碼如下:

4. 運行爬蟲

回到project目錄,運行scrapy crawl novel_qidian -o box.csv命令其中novel_qidian就是在novelSpider類中的name項, -o box.csv 即以csv文件形式存儲內容以下是爬取到的內容:

scrapy作為一個異步爬蟲框架,非常容易寫出高質量的爬蟲,同時scrapy還有很多功能中間件,對於設置訪問頭,圖片及文件下載都有相應的方法,有興趣的可以深入研究!

相關焦點

  • Python 爬蟲框架Scrapy 簡單介紹
    Scrapy 簡介Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。Scrapy 使用了 Twisted 異步網絡框架來處理網絡通訊,結構清晰明了,並且包含了各種中間件接口,可以靈活的完成各種需求。
  • 使用Scrapy網絡爬蟲框架小試牛刀
    前言這次咱們來玩一個在Python中很牛叉的爬蟲框架——Scrapy。scrapy 介紹標準介紹Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架,非常出名,非常強悍。所謂的框架就是一個已經被集成了各種功能(高性能異步下載,隊列,分布式,解析,持久化等)的具有很強通用性的項目模板。
  • 進階爬蟲框架Scrapy,告別單一爬蟲
    學習Python已經很長時間了,之前我們都是訪問頁面,用requests,知道get和post方法來獲得網頁的html代碼。如果頁面用到ajax之類動態加載的,可以通過分析原碼爬人家的json(學習下python裡json的包)。
  • python爬蟲29 | 使用scrapy爬取糗事百科
    是時候給你說說爬蟲框架了使用框架來爬取數據會節省我們更多時間很快就能抓取到我們想要抓取的內容這個框架那麼接下來小帥b會帶你使用它來爬取一下 糗事百科 的段子主要讓你知道 scrapy 的使用以及體驗它的牛逼之處廢話不多說
  • 簡單使用scrapy爬蟲框架批量採集網站數據
    前言 本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯繫我們以作處理。 本篇文章就使用python爬蟲框架scrapy採集網站的一些數據。
  • scrapy爬蟲框架的運用
    # scrapy# 爬蟲框架- 框架- 爬蟲框架- scrapy- pyspider- crawley- scrapy框架介紹- https://doc.scrapy.org/en/latest/- http://scrapy-chs.readthedocs.io
  • 「小白學爬蟲連載(8)」——scrapy框架入門教程
    接下來介紹如何用scrapy框架實現以上流程。創建項目在開始爬取之前,您必須創建一個新的Scrapy項目。定義ItemItem 是保存爬取到的數據的容器;其使用方法和python字典類似, 並且提供了額外保護機制來避免拼寫錯誤導致的未定義欄位錯誤。類似在ORM中做的一樣,您可以通過創建一個 scrapy.Item 類, 並且定義類型為 scrapy.Field 的類屬性來定義一個Item。
  • python爬蟲小白——scrapy的使用
    本文中的知識點:安裝scrapyscrapy的基礎教程scrapy使用代理安裝scrapy以下的演示是基於windows系統,windows與linux都可以用。安裝好後,確認scrapy是否安裝看下這裡的代碼,先導入scrapy,定義了一個BaiduSpider類,必須要繼承scrapy.Spider。這裡注意,裡面有3個必須的屬性(name,allowed_domains,start_urls)。name——爬蟲的名字,運行爬蟲的時候就看這個參數。allowed_domains——抓取的域名限制,這是我們剛才在命令行輸入的。
  • Scrapy爬蟲框架新手入門教程
    ​Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。類創建一個子類,並確定了三個強制的屬性 和 一個方法。name = "" :爬蟲的識別名稱,必須是唯一的,在不同的爬蟲必須定義不同的名字。allow_domains = [] :是搜索的域名範圍,也就是爬蟲的約束區域,規定爬蟲只爬取這個域名下的網頁,不存在的URL會被忽略。
  • Python爬蟲:Scrapy-redis分布式爬蟲講解
    本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。請求對象的持久化去重的持久化實現分布式scrapy-redis只是替換了redis的幾個組件,不是一個新的框架。
  • Python之初識Scrapy框架
    今天帶大家了解下 Scrapy 框架,先解答三個問題:什麼是 Scrapy 框架呢?它有什麼作用呢?為什麼需要使用它?Scrapy 是 Python 開發的一個快速、高層次的屏幕抓取和web抓取框架,用於抓取 web 站點並從頁面中提取結構化的數據。
  • 優化python爬蟲scrapy
    我以前重複同樣的項目配置,一個爬蟲下來得調試個一個多小時已經算快的了,畢竟框架好多地方需要修改。以爬取小說網站為例,不同地方在於提取標題、網址Url、內容的xpath不一樣,即只是spiders文件夾下爬蟲文件不一樣而已。
  • Crawlab準備之python+scrapy環境搭建
    上篇《分布式爬蟲管理平臺Crawlab開發搭建》把爬蟲的管理後臺搭建起來了;搗鼓一番發現要真正爬取數據還有下不少的功夫。這篇看看怎麼搭建python+scrapy環境。0x01:安裝Python3下載python安裝包,具體版本根據自己的系統要求https://www.python.org/downloads/windows/下載安裝完成後直接cmd輸入python,可正常查看版本
  • 小叮噹高級爬蟲(一):爬蟲利器Scrapy
    Scrapy簡介Scrapy是一個為了爬取網站數據、提取結構性數據而完全由python編寫的應用框架。所謂「框架」,便是整個或部分系統的可重用設計。在python中也可以說,一個框架就是一個可復用的「巨大模塊」。
  • scrapy使用快速入門
    首先你要具備以下能力:#有一定的python基礎和編程思想,#具有一定的liunx系統管理基礎#掌握基本資料庫操作,增刪改查等,#了解html,css,js相關方面的知識建議使用Pycharm開發工具,方便調試下面我們開始寫爬蟲程序1、創建一個scrapy
  • 「爬蟲教程」第六章:Scrapy框架(上)
    回顧一下寫一個爬蟲需要做的一些步驟,使用requests庫發送網絡請求、使用lxml等解析技術對數據進行解析、使用資料庫等方法進行存儲數據,另外還可以在請求網絡的時候進行更換IP、設置請求頭等。每次爬蟲都要幹這麼多活,如果每次都從零開始寫則比較浪費時間,所以我們需要一個框架,這個框架幫我們把一些基本的爬蟲前奏都準備好了,我們只需要「站在巨人的肩膀上」即可。
  • python scrapy 爬蟲筆記匯總,如何寫 一個專業的scrapy爬蟲
    之前我們已經寫好了scrapy網絡爬蟲爬取極品笑話大全,但是不夠專業,要在items 中定義好模型。整個爬取數據的模型,我們這個比較簡單,只有一個內容,有的還要爬取title,這些,我們就要寫上title=scrapy.Field()Scrapy 爬蟲匯總:1.Response 是一個scrapy.http.response.html HtmlResponse 對像,可以執行』xpath』,』css』來提取數據2.提取出來的數據是一個『selector』或者
  • Scrapy爬蟲框架結構介紹(各部分組件功能,常用命令)
    Python之srcapy介紹Scrapy是一個健壯的爬蟲框架,可以從網站中提取需要的數據。是一個快速、簡單、並且可擴展的方法。Scrapy使用了異步網絡框架來處理網絡通訊,可以獲得較快的下載速度,因此,我們不需要去自己實現異步框架。並且,Scrapy包含了各種中間件接口,可以靈活的完成各種需求。
  • 如何使用Scrapy框架進行爬蟲呢?
    Scrapy框架介紹Scrapy是一個基於Twisted的異步處理框架,是純Python實現的爬蟲框架,其架構清晰,模塊之間耦合程度低,可擴展性極強,可以靈活完成各種需求。我們只需要定製開發幾個模塊就可以輕鬆實現一個爬蟲。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    6多態 7類屬性,類方法,靜態方法 8單例模式 9異常 10模塊和包 11文件操作 12文本編碼 13內建函數eval 3項目實戰部分:1項目準備 2遊戲窗口和繪製圖像 3遊戲循環和鍵盤事件 4精靈和精靈組 5框架搭建