Scrapy 爬蟲偽裝

2021-09-02 00:23:46 字數 3204 閱讀 7017

scrapy  設定**ip | 設定隨機user-agent   #防止對方發現我們

設定**ip:

# middleware.py

class my_proxy(object):

def process_request(self,request,spider):

#**伺服器的ip 與埠號   #註冊乙個 阿布雲

#設定通行使用者的使用者名稱和密碼   #要購買

pro_name_pass=b'h211eat5905745kc:f8ffbc929eb7d5a7'

#加密encode_pass_name=base64.b64encode(pro_name_pass)

#設定http頭

request.headers['proxy-authorization'] = 'basic ' + encode_pass_name.decode()

# settings.py

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

隨機user_agent(一)

# middlewares.py

import random

class randomuseragentmiddleware(object):

def __init__(self, agents):

self.agent = agents

@classmethod

def from_crawler(cls, crawler):

return cls(

agents=crawler.settings.get('custom_user_agent')

)def process_request(self, request, spider):

request.headers.setdefault('user-agent', random.choice(self.agent))

# settings.py

custom_user_agent = [

"mozilla/4.0 (compatible; msie 6.0; windows nt 5.1; sv1; acoobrowser; .net clr 1.1.4322; .net clr 2.0.50727)",

"mozilla/4.0 (compatible; msie 7.0; windows nt 6.0; acoo browser; slcc1; .net clr 2.0.50727; media center pc 5.0; .net clr 3.0.04506)",

"mozilla/4.0 (compatible; msie 7.0; aol 9.5; aolbuild 4337.35; windows nt 5.1; .net clr 1.1.4322; .net clr 2.0.50727)",

"mozilla/5.0 (windows; u; msie 9.0; windows nt 9.0; en-us)",

"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",

"mozilla/5.0 (x11; u; linux i686; en-us; rv:1.9.0.8) gecko fedora/1.9.0.8-1.fc10 kazehakase/0.5.6",

"opera/9.80 (macintosh; intel mac os x 10.6.8; u; fr) presto/2.9.168 version/11.52",

]**********_middlewares =

隨機user_agent(一)

# middlewares.py

import random

from scrapy import signals

from fake_useragent import useragent

class randomuseragentmiddleware(object):

def __init__(self):

self.agent = useragent()

@classmethod

def from_crawler(cls, crawler):

return cls()

def process_request(self, request, spider):

request.headers.setdefault('user-agent', self.agent.random)

# settings.py

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

Scrapy使用偽裝術

為什麼要偽裝ua跟使用 ip問題就直接跳過了,直接進入正題。我們知道,要想偽裝ua跟 ip就要在發起請求時進行攔截,然後更改資料之後,進行重新提交,那在scrapy中,我們怎麼去攔截請求?中介軟體 middlewares response處理的鉤子框架 class cnblogs middlewar...

爬蟲偽裝頭部

偽裝頭部是最基本的反反爬蟲方法,下面假設我們有乙個 from flask import flask getinfo defhello world return 這裡假裝有很多資料 def index return 個人主頁 if name main 現在就可以通過 訪問了。我們想看看請求的 head...

爬蟲筆記(9 30) 爬蟲偽裝技術

反爬蟲機制主要有 1 分析使用者請求的headers資訊進行反爬蟲 反爬蟲會對使用者請求的headers資訊的 user agent 進行檢測 反爬蟲 還會對 referer 字段進行檢測 2 檢測使用者行為,ip在短時間內是否頻繁訪問 使用 伺服器,經常切換 3 動態頁面增加爬蟲難度 利用工具軟體...