在配置文件中修改相關參數:
- 增加並發
- 默認的scrapy開啟的並發線程為32個,可以適當的進行增加,再配置文件中修改CONCURRENT_REQUESTS = 100值為100,並發設置成了為100。
- 降低日志等級
- 在scrapy運行的時候,會輸出大量的日志信息,為了減少cpu的使用率,可以設置log輸出信息為INFO或者ERROR.在配置文件中編寫LOG_LEVEL = 'INFO'
- 禁止cookie
- 如果不是真的需要cookie,則在scrapy爬取數據的時候可以 禁止cookie從而減少CPU的使用率,提升爬蟲效率,在配置文件中編寫COOKIES_ENABLED= False
- 禁止重試
- 對失敗的HTTP請求進行重新請求(重試),會減慢爬取速度。因此可以禁止重試,在配置文件中編寫:RETRY_ENABLED = False
- 減少下載超時
- 如果對一個非常慢的鏈接進行爬取,減少下載超時可以讓卡住的鏈接被快速放棄,從而提升爬取的效率。在配置文件中進行編寫:DOWNLOAD_TIMEOUT = 10 超時時間為10s
【補充】:
請求傳參的的應用場景:
解析的數據不在同一個頁面中
Request(callback,meta={})
下載中間件的用途:
批量攔截請求(代理IP和UA)和響應(處理頁面數據)
如何在scrapy使用selenium
1.在spider的init方法中實例化一個瀏覽器對象
2.在spider的closed方法中關閉瀏覽器對象
3.在下載中間件類的process_response方法中接收spider中的瀏覽器對象
4.處理執行相關自動化操作(發起請求,獲取頁面數據)
5.實例化一個新的響應對象(from scrapy.http import HtmlResponse),且將頁面數據存儲到該對象中
6.返回新的響應對象
7.在配置文件中開啟中間件
