教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

帶你深入淺出python爬蟲框架scrapy(三)

更新時(shí)間:2017年11月16日10時(shí)46分 來(lái)源:傳智播客 瀏覽次數(shù):

接下來(lái)我們要講解爬取一些較難的數(shù)據(jù)評(píng)論:

1. 在Item中定義自己要抓取的數(shù)據(jù):

python爬蟲

movie_name就像是字典中的“鍵”,爬到的數(shù)據(jù)就像似字典中的“值”。在繼承了BaseSpider的類中會(huì)用到:

第一行就是上面那個(gè)圖中的TutorialItem這個(gè)類,紅框圈出來(lái)的就是上圖中的movie_name中。

2、然后在spiders目錄下編輯Spider.py那個(gè)文件

跟著上面的item是匹配的

python爬蟲

3.編輯pipelines.py文件,可以通過(guò)它將保存在TutorialItem中的內(nèi)容寫入到數(shù)據(jù)庫(kù)或者文件中。

對(duì)json模塊的方法的注釋:dump和dumps(從Python生成JSON),load和loads(解析JSON成Python的數(shù)據(jù)類型);dump和dumps的唯一區(qū)別是dump會(huì)生成一個(gè)類文件對(duì)象,dumps會(huì)生成字符串,同理load和loads分別解析類文件對(duì)象和字符串格式的JSON

4. 上述三個(gè)過(guò)程后就可以爬蟲了,僅需上述三個(gè)過(guò)程喲,然后在dos中將目錄切換到tutorial下輸入scrapy crawl douban就可以爬啦

接下來(lái)就簡(jiǎn)單介紹下一些基本知識(shí)

5. start_requests方法:

直接在start_urls中存入我們要爬蟲的網(wǎng)頁(yè)鏈接,但是如果我們要爬蟲的鏈接很多,而且是有一定規(guī)律的,我們就需要重寫這個(gè)方法了,可見它就是從start_urls中讀取鏈接,然后使用make_requests_from_url生成Request。

那么這就意味我們可以在start_requests方法中根據(jù)我們自己的需求往start_urls中寫入我們自定義的規(guī)律的鏈接。

6. parse方法:

生成了請(qǐng)求后,scrapy會(huì)幫我們處理Request請(qǐng)求,然后獲得請(qǐng)求的url的網(wǎng)站的響應(yīng)response,parse就可以用來(lái)處理response的內(nèi)容。在我們繼承的類中重寫parse方法,parse_item是我們自定義的方法,用來(lái)處理新連接的request后獲得的response

7. 在這個(gè)函數(shù)體中,根據(jù) start_requests (默認(rèn)為GET請(qǐng)求)返的 Response,得到了一個(gè) 名字為‘item_urls’ 的url集合。然后遍歷并請(qǐng)求這些集合。再看 Request 源碼

python爬蟲

本文版權(quán)歸傳智播客人工智能+Python學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

作者:傳智播客人工智能+Python學(xué)院

0 分享到:
和我們?cè)诰€交談!