scrapy User Agent切換的兩種方法

2021-07-31 21:46:20 字數 993 閱讀 2536

第一種是使用在setting裡面設定middlewares。

這個網上有較多版本,我覺得這個版本寫的比較好,也比較新。

有的舊版本還在使用scrapy.contrib.**********middleware。scrapy新的版本裡已經不用contrib了,直接寫scrapy.**********middleware就可以了。

note:

另外為了避免覆蓋本身的middlewares.py檔案,我覺得新檔名名為別的名字比較好,例如user-agent.py

setting裡面寫入的

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

方法二:

使用def start_requests,新增headers,start_urls預設呼叫了start_requests方法,所以這邊重新寫了start_requests方法就不用寫start_urls了。

from random import choice

def start_requests(self):

user_agent_list = [\

]#'accept-encoding':'gzip, deflate, sdch',

#accept-language:fr-fr,fr;q=0.8,en-us;q=0.6,en;q=0.4

#cache-control:max-age=0

#'connection':'keep-alive',

#upgrade-insecure-requests:1

'user-agent':choice(user_agent_list) #打備註的都是可加可不加的,我沒加好像也沒什麼影響。random.choice 可以從列表裡隨機選取元素

}url = ''

yield scrapy.request(url,callback=self.parse,dont_filter=true,headers=header)

我試過這兩種方法都可以。

Fragment 切換的兩種方式

我們都知道fragment切換有兩種方式 1.replace方式 transaction.replace r.id.content,fragment1 2.add hide show方式 transaction.add r.id.content,fragment1 transaction.hide ...

Fragment 切換的兩種方式

我們都知道fragment切換有兩種方式 1.replace方式 transaction.replace r.id.content,fragment1 2.add hide show方式 transaction.add r.id.content,fragment1 transaction.hide ...

Redhat nis client兩種接入方式

redhat nis client兩種接入方式 在redhat上nis client有兩種方式接入nis伺服器 etc nsswitch.conf和system config authentication 通過 etc nsswitch.conf的方式使用者只能通過yppasswd進行修改密碼且無法...