scrapy突破反爬的幾種方式(三)
一些小的技巧配置,讓我們的爬蟲被識別的概率降低。
cookies 的禁用
在settings.py 檔案中有一個引數是:
COOKIES_ENABLED = False
預設情況下是禁用的,request 就不會把 cookies 帶進去。在一些不需要登入就能訪問的網站來說,這種方式是很好用的。
限速
scrapy 預設情況下在下載網頁的空隙是 0 的,也就是返回一個頁面,立刻就去下載了。
在 settings.py 檔案中有一個引數是:
DOWNLOAD_DELAY = 0
這個引數的意思是下載器在下載同一個網站下一頁面需要等待的時間,該選項可以用來限制爬取速度,減輕伺服器壓力。同時也支援小數。
那我們就知道了,在爬取過快的時候,適當限一下速,別讓翻車了就不好。
還有更多的限速相關的文件請參考scrapy官方文件 點這裡
settings
有些情況下,我們建立了幾個 spider ,共用一個 setting 檔案,可能有些spider 需要登入才能實現爬取,這是需要用到cookies 而另一些 spider 不需要登入就可以爬取到資料。這時我們可以在需要用cookies的spider檔案中重寫方法覆蓋settings裡的方法就可以了。
具體實現:在需要用cookies的spider中,新增以下程式碼:
custom_settings = {
"COOKIES_ENABLED" : True
}
相關文章
- 常見的三種反爬蟲措施爬蟲
- 反爬蟲的四種常見方式-JS逆向方法論爬蟲JS
- 代理IP如何突破反爬蟲?爬蟲
- 三欄式佈局的幾種實現方式
- 防止爬蟲被反爬的幾個主要策略爬蟲
- Unity反射的幾種方式Unity反射
- css引入的幾種方式CSS
- 爬蟲案例2-爬取影片的三種方式之一:DrissionPage篇(3)爬蟲
- 爬蟲案例2-爬取影片的三種方式之一:selenium篇(2)爬蟲
- python爬蟲系列(三)scrapy基本概念Python爬蟲
- Scrapy框架的使用之Scrapy通用爬蟲框架爬蟲
- 10種反彈shell方式
- python 非同步的幾種方式Python非同步
- python的幾種輸出方式Python
- python的幾種輸入方式Python
- react 路由的幾種使用方式React路由
- OAuth的幾種授權方式OAuth
- JavaScript的幾種繼承方式JavaScript繼承
- offline tablespace 的幾種方式 (轉)
- 程式碼迭代的幾種方式
- Spring注入Bean的幾種方式SpringBean
- Scrapy爬蟲框架的使用爬蟲框架
- 爬蟲框架-scrapy的使用爬蟲框架
- 檔案上傳的幾種方式
- sql最佳化的幾種方式SQL
- C#解析json的幾種方式C#JSON
- spring註冊bean的幾種方式SpringBean
- 實現 JavaScript 沙箱的幾種方式JavaScript
- Golang語言排序的幾種方式Golang排序
- 程式間的幾種通訊方式
- App相互喚醒的幾種方式APP
- 陣列去重的幾種方式陣列
- Express 提交資料的幾種方式Express
- python接收郵件的幾種方式Python
- Spring - 獲取ApplicationContext的幾種方式SpringAPPContext
- sqlplus常用的幾種登入方式SQL
- JavaScript的三種引入方式JavaScript
- 剛體在三維空間的旋轉-幾種表達方式