Scrapy繞過反爬蟲策略

2021-10-09 14:18:11 字數 2179 閱讀 5684

# 方法1:

# 修改setting.py中的user-agent

user_agent =

# 方法2:

# 修改setting中的default_request_headers

default_request_headers =

也就是不啟用cookies middleware,不向server傳送cookies,有些**通過cookie的使用發現爬蟲行為

可以通過cookies_enabled控制 cookiesmiddleware 開啟或關閉

除非特殊需要,可以禁用cookies,防止某些**根據cookie來封鎖爬蟲。

cookies_enabled =

false

防止訪問過於頻繁,設定為 3秒 或更高

download_delay =

3

4.1 修改settings 配置user_agents 和proxies
# 新增user_agents:

user_agents =

["mozilla/5.0 (compatible; msie 9.0; windows nt 6.1; win64; x64; trident/5.0; .net clr 3.5.30729; .net clr 3.0.30729; .net clr 2.0.50727; media center pc 6.0)"

,"mozilla/5.0 (compatible; msie 8.0; windows nt 6.0; trident/4.0; wow64; trident/4.0; slcc2; .net clr 2.0.50727; .net clr 3.5.30729; .net clr 3.0.30729; .net clr 1.0.3705; .net clr 1.1.4322)"

,"mozilla/4.0 (compatible; msie 7.0b; windows nt 5.2; .net clr 1.1.4322; .net clr 2.0.50727; infopath.2; .net clr 3.0.04506.30)",,

,"mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.8.1.2pre) gecko/20070215 k-ninja/2.1.1"

,"mozilla/5.0 (windows; u; windows nt 5.1; zh-cn; rv:1.9) gecko/20080705 firefox/3.0 kapiko/3.0"

,"mozilla/5.0 (x11; linux i686; u;) gecko/20070322 kazehakase/0.4.5"

]# 新增**ip設定proxies:

# 免費**ip可以網上搜尋(免費的不太穩定),或者付費購買一批可用的私密**ip:

proxies =[,

,,,]

4.2 建立中介軟體
import random

from settings import user_agents

from settings import proxies

# 隨機的user-agent

class

randomuseragent

(object):

defprocess_request

(self, request, spider)

: useragent = random.choice(user_agents)

request.headers.setdefault(

"user-agent"

, useragent)

# 隨機**ip

]

4.3 配置中介軟體

**********_middlewares =

爬蟲11 scrapy突破反爬蟲策略

1 user agent 1 fake useragent的安裝 pip install fake useragent 用法 from fake useragent import useragent ua useragent print ua.ie 執行結果 mozilla 4.0 compatib...

python反爬蟲策略 python反爬蟲手冊

user agent識別 修改請求頭資訊裡的user agent 請求頭資訊識別 比如說referer,content type,請求方法 post,get 構造相應的請求頭資訊。比如說referer,我們在提取url的時候,要把url所在頁面的url也儲存起來,並放到request.headers...

反爬蟲策略總結

反爬策略 1.最常見的 ip檢測,ua檢測 2.cookie檢測 3.需要登陸,又衍生各種出登陸驗證,驗證碼,滑塊等 4.引數加密 包括請求引數加密和返回資料加密。大致分為兩大塊 js加密及css反扒 js加密需要進行js逆向解析,常見有rsa,aes,des,md5,base64 及一些自定義加密...