天天看點

request設定請求頭_收藏 Scrapy架構各元件詳細設定

今天說一下 Scrapy架構 各元件的詳細設定。

關于Scrapy

Scrapy 是純Python語言實作的爬蟲架構,簡單、易用、拓展性高是其主要特點。這裡不過多介紹Scrapy的基本知識點,主要針對其高拓展性詳細介紹各個主要部件的配置方法。其實也不詳細,不過應該能滿足大多數人的需求了 : )。 當然,更多資訊可以仔細閱讀官方文檔。首先還是放一張 Scrapy資料流的圖供複習和參考。

request設定請求頭_收藏 Scrapy架構各元件詳細設定

接下來進入正題,有些具體的示例以某瓣spider為例。

建立指令

如果想要建立全網爬取的便捷架構crawlspider,則用如下指令:

spider.py

首先介紹最核心的部件spider.py,廢話不多說,上代碼,看注釋

如果是全網爬取,則架構中spiders的部分開頭會略有差别

關鍵就是follow的設定了,是否到達既定深度和頁面需要自己把握。提一嘴,請求頭可以在三個地方設定,決定了請求頭的影響範圍

  1. 在settings中設定,範圍最大,影響整個架構的所有spider
  2. 在spiders類變量處設定,影響該spider的所有請求
  3. 在具體請求中設定,隻影響該request

三處設定的影響範圍實際就是從全局到單個爬蟲到單個請求。如果同時存在則單個請求的headers設定優先級最高!

items.py

middlewares.py

中間件就很靈性了,很多小夥伴也不一定用的到,但實際上在配置代理時很重要,一般需求不去配置SpiderMiddleware,主要針對DownloaderMiddleware進行修改

附上proxyhelper配置的代碼

pipelines.py

setting.py

極其關鍵的部件,注釋已經在代碼中标注

extends.py

自定義擴充,建議設定該部件需要對信号有了解,深入了解scrapy運作過程的信号觸發,實際還是需要對資料流了解的完善。代碼中我是利用自己寫的類,本質就是利用喵提醒在某些特定時刻觸發提醒(喵提醒打錢?)。當然也可以利用日志或者其他功能強化拓展功能,通過signal的不同觸發時刻針對性設定

需要自己建立,建立位置如圖:

request設定請求頭_收藏 Scrapy架構各元件詳細設定

running.py

runnings.py最後提一下吧,其實就是一個在python中運作cmd的指令

以上就是可以滿足基本需求的Scrapy各部件配置,如果還不熟悉的話可以參考,之後我們将更新一些Scrapy爬蟲實戰案例。

request設定請求頭_收藏 Scrapy架構各元件詳細設定

牛逼!一行代碼讓 pandas 的 apply 速度飙到極緻!

萬裡星空、皓月千裡、電閃雷鳴,各種天氣特效,算法一鍵生成

Python操作Excel 子產品,你猜哪家強?

終于來了!!Pyston v2.0 釋出,解決 Python 慢速的救星

2020年,那些已經死亡的公司

End

碼農更新

request設定請求頭_收藏 Scrapy架構各元件詳細設定

長按二維碼關注

request設定請求頭_收藏 Scrapy架構各元件詳細設定

你 點 的 每 個 在 看 , 我 都 認 真 當 成 了 喜 歡

繼續閱讀