在配置檔案中修改相關引數:
- 增加併發
- 預設的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.在配置檔案中開啟中介軟體