日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python實(shí)現(xiàn)三種隨機(jī)請(qǐng)求頭方式

瀏覽:22日期:2022-06-30 13:02:04

相信大家在爬蟲中都設(shè)置過請(qǐng)求頭 user-agent 這個(gè)參數(shù)吧? 在請(qǐng)求的時(shí)候,加入這個(gè)參數(shù),就可以一定程度的偽裝成瀏覽器,就不會(huì)被服務(wù)器直接識(shí)別為spider.demo.code ,據(jù)我了解的,我很多讀者每次都是直接從network 中去復(fù)制 user-agent 然后把他粘貼到代碼中, 這樣獲取的user-agent 沒有錯(cuò),可以用, 但是如果網(wǎng)站反爬措施強(qiáng)一點(diǎn),用固定的請(qǐng)求頭可能就有點(diǎn)問題, 所以我們就需要設(shè)置一個(gè)隨機(jī)請(qǐng)求頭,在這里,我分享一下我自己一般用的三種設(shè)置隨機(jī)請(qǐng)求頭方式

思路介紹:

其實(shí)要達(dá)到隨機(jī)的效果,很大程度上我們可以利用隨機(jī)函數(shù)庫random 這個(gè)來實(shí)現(xiàn),可以調(diào)用random.choice([user-agent]) 隨機(jī)pick數(shù)組中一個(gè)就可以了,這是我的一種方式。

python作為一個(gè)擁有眾多第三方包的語言,自然就有可以生成隨機(jī)請(qǐng)求頭的包咯,沒錯(cuò),就是fake-useragent 這個(gè)第三方庫了,稍后我們介紹一下這個(gè)函數(shù)庫的簡(jiǎn)單使用。

既然別人可以寫第三方庫,自然自己也可以實(shí)現(xiàn)一個(gè)這樣的功能,大部分情況下,我很多代碼都是直接調(diào)用我自己實(shí)現(xiàn)的一個(gè)GetUserAgentCS 類,直接就可以獲取一個(gè)隨機(jī)請(qǐng)求頭了,直接寫函數(shù)庫,才牛逼舒服, 這個(gè)我也會(huì)在下面介紹如何編寫函數(shù)庫。

自己編寫第三方庫:

不知道你們寫代碼的框架是怎樣的,面向過程還是面向?qū)ο螅?對(duì)于一次性的代碼,就簡(jiǎn)單的編碼就行了,如果你覺得這個(gè)代碼它可以會(huì)在很多的地方用得到,可以重復(fù)使用,那么你就可以使用類的方式,去編寫這個(gè)代碼,那么在其他的文件中,你就可以直接調(diào)用你的寫這個(gè)文件,直接調(diào)用你寫的class類中的各種方法,而我也是這樣實(shí)現(xiàn)的一個(gè)隨機(jī)請(qǐng)求頭的一個(gè)第三方庫, 如下:

import randomimport csvclass GetUserAgentCS(object): ''' 調(diào)用本地請(qǐng)求頭文件, 返回請(qǐng)求頭 ''' def __init__(self): with open(’D://pyth//scrapy 項(xiàng)目//setting//useragent.csv’, ’r’) as fr: fr_csv = csv.reader(fr) self.user_agent = [str(i[1]) for i in fr_csv] def get_user(self): return random.choice(self.user_agent)

useragent文件如下:

1,'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36'2,'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36'3,'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36'4,'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36'5,'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36'-------------- # too much 100...

代碼很簡(jiǎn)單的,讀取本地的csv文件,然后random一個(gè)出去就行了,那現(xiàn)在就有人問我,你這個(gè)文件怎么來的, 很簡(jiǎn)單啊,自然就有方法了,待會(huì)在下一個(gè)模塊我會(huì)講到,在這里,我們只需要編寫一個(gè)GetUserAgentCS類就可以,代碼可以直接抄我上面的,然后保存為get_useragent.py 就可以了,然后你把這個(gè)包文件放在你自己爬蟲文件夾的地方,然后這樣調(diào)用:

from get_useragent import GetUserAgentCSheaders = {}ua = GetUserAgentCS().get_user()headers[’user-agent’] = uareturn headers

如果你在這個(gè)調(diào)用GetUserAgentCS 不成功, 或者底下會(huì)出現(xiàn)紅色的波浪線, 那么就是你沒有設(shè)置當(dāng)前工作環(huán)境,你只需要這么設(shè)置(設(shè)置你的爬蟲文件夾):

python實(shí)現(xiàn)三種隨機(jī)請(qǐng)求頭方式

你需要點(diǎn)擊 Sources Root 就可以了!

使用第三方庫 fake-useragent:

這是一個(gè)別人已經(jīng)寫好的第三方庫,你需要安裝然后調(diào)用API 就可以了, 它可以獲取各種的請(qǐng)求頭,唯一的缺點(diǎn)就是 請(qǐng)求不穩(wěn)定,有的時(shí)候網(wǎng)絡(luò)波動(dòng)就可能導(dǎo)致獲取不成功,用于Scrapy中,不是很舒服,所以我在這個(gè)包的基礎(chǔ)上,編寫了如上我自己的包,至于請(qǐng)求頭的數(shù)據(jù)怎么來的, 就是在這個(gè)包運(yùn)行正常時(shí)候,一直更改user-agent,然后不斷的請(qǐng)求 http://httpbin.org/user-agent 然后不斷的保存數(shù)據(jù),寫入本地文件就可以了。

我們還是講一講這個(gè)包的使用方式吧!

安裝

pip install fake-useragent

你可以 pip list 查看一下 是否安裝成功

使用方式

from fake_useragent import UserAgentheaders= {’User-Agent’:str(UserAgent().random)}r = requests.get(url, headers=headers) UserAgent().random 可以獲取任意瀏覽器的請(qǐng)求頭 UserAgent().Chrome 可以獲取谷歌瀏覽器的請(qǐng)求頭 UserAgent().firefox 可以獲取火狐瀏覽器的請(qǐng)求頭

這個(gè)時(shí)候,直接用random就可以了,簡(jiǎn)單。

讀取內(nèi)存數(shù)組:

這個(gè)時(shí)候就有很多人說, 我就換個(gè)請(qǐng)求頭而已,需要這么麻煩嗎? 當(dāng)然,自然有簡(jiǎn)單的方式,只不過每次都需要復(fù)制來用,不是很方法,具體如下:

ua = ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.17 Safari/537.36''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36,Mozilla/5.0 (X11; NetBSD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36']

預(yù)先把請(qǐng)求頭放入數(shù)組里面,然后用就可以了。

import randomua = [.....]r = requests.get(url, headers={'user-agent':random.choice(ua)})

以上就是我關(guān)于請(qǐng)求頭的幾種設(shè)置方式了,有需要補(bǔ)充的可以評(píng)論區(qū)留言。

教你用三種方式設(shè)置隨機(jī)請(qǐng)求頭, 爬蟲設(shè)置請(qǐng)求頭(user-agent)是必然的,那如何生成一個(gè)隨機(jī)請(qǐng)求頭這個(gè)也是我們爬蟲必須掌握的, 讀完本篇文章你就可以輕松掌握 !

到此這篇關(guān)于python實(shí)現(xiàn)三種隨機(jī)請(qǐng)求頭方式的文章就介紹到這了,更多相關(guān)python 隨機(jī)請(qǐng)求頭內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91亚洲成人| 国内精品福利| 日韩综合精品| 欧美一区免费| 丝袜美腿一区二区三区| 国产欧美一区二区三区米奇| 麻豆精品视频在线观看免费| 黄毛片在线观看| 国产精品mv在线观看| 欧美色图国产精品| 成人午夜亚洲| 精品国产麻豆| 成人黄色av| 91综合网人人| 理论片午夜视频在线观看| 天堂av在线一区| 亚洲成人精品| 91久久久精品国产| 999国产精品视频| 久久一级电影| 99久久九九| 欧美a级一区| 免费久久99精品国产自在现线| 四虎国产精品免费观看| 亚洲人成毛片在线播放女女| 精品久久电影| 91欧美在线| 岛国av在线播放| 久久久男人天堂| 免费视频一区三区| 欧美日韩国产高清| 亚洲一区网站| 国产乱人伦丫前精品视频| 日韩高清在线不卡| 国产精一区二区| 国产福利一区二区精品秒拍 | 欧美亚洲在线日韩| 中文在线一区| 亚洲中午字幕| 免费欧美一区| 视频精品一区二区| 亚洲三级国产| 精品一区二区三区的国产在线观看| 国产日产高清欧美一区二区三区 | 久久一区二区三区电影| 国产精品91一区二区三区| 国产91精品对白在线播放| 日韩精品看片| 日韩三级精品| 国模大尺度视频一区二区| 91免费精品| 国产二区精品| 亚洲欧美网站在线观看| 亚洲精品乱码日韩| 六月婷婷综合| 亚洲一区二区三区高清| 日韩福利视频导航| 精品欧美日韩精品| 国产成人精品福利| 日韩中文字幕不卡| 日本三级亚洲精品| 色一区二区三区四区| 99国产精品视频免费观看一公开 | 国产欧美88| 在线成人动漫av| 久久午夜精品| 久久精品xxxxx| 欧美91福利在线观看| 亚洲一区欧美二区| 久久精品国产99| 国产韩日影视精品| 国产精品欧美日韩一区| 九一成人免费视频| 日韩av成人高清| 久久久噜噜噜| 久久免费精品| 国产精品毛片在线| 国产精品一在线观看| 日本久久综合| 亚洲欧美激情诱惑| 在线中文字幕播放| 日韩精品一级二级 | 91精品国产乱码久久久久久久| 婷婷激情综合| 国产探花一区| 九九综合九九| 久久毛片亚洲| 伊人国产精品| 99精品综合| 国产精品久久久久久久久久久久久久久| 91精品精品| 国产一区精品福利| 在线一区欧美| 国产精品xxx在线观看| 亚洲三级欧美| 欧美国产不卡| 中文一区一区三区免费在线观 | 日韩一区二区在线免费| aa亚洲婷婷| 亚洲九九精品| 日韩中文字幕麻豆| 夜鲁夜鲁夜鲁视频在线播放| 国产精品7m凸凹视频分类| 日韩av二区在线播放| 新版的欧美在线视频| 国产精品视频一区二区三区综合| 日韩伦理一区| 国产精品99久久免费| 深夜福利亚洲| 亚洲免费播放| 三级在线看中文字幕完整版| 日韩欧美在线精品| 美女久久久久| 久久国产日韩| 日韩中文字幕91| 日韩在线卡一卡二| 亚洲特色特黄| 婷婷亚洲精品| 亚洲成人一区在线观看| 久久精品国产免费| 中文字幕日韩亚洲| 国产日韩三级| 亚洲免费网址| 99视频+国产日韩欧美| 欧美激情麻豆| 亚洲人成亚洲精品| 久久精品青草| 日韩久久视频| 免费一区二区视频| 黄色网一区二区| 欧美一区免费| 亚洲精选91| 国产精品三上| 久久99精品久久久野外观看| 国产不卡精品在线| 国产精品夜夜夜| 国产欧美三级| 欧美日韩国产免费观看视频| 亚洲图片久久| 亚洲福利精品| 在线一区二区三区视频| 老鸭窝一区二区久久精品| 国产精品欧美三级在线观看 | 日韩欧美高清一区二区三区| 国产劲爆久久| 久久中文欧美| 丝袜国产日韩另类美女| 日韩国产一区二区三区| 日本免费新一区视频| 天堂日韩电影| 免费国产亚洲视频| 天堂资源在线亚洲| 日韩国产一区二区三区| 精品三区视频| 老牛影视精品| 免费精品视频在线| 日本成人在线视频网站| 欧美日本三区| 久久蜜桃精品| 91成人小视频| 亚洲性色av| 麻豆精品网站| 四季av一区二区凹凸精品| 久久国产婷婷国产香蕉| 久久中文字幕二区| 国产成人精选| 99香蕉国产精品偷在线观看| 精品欠久久久中文字幕加勒比| 午夜视频一区二区在线观看| 国精品一区二区| 成人精品视频| 麻豆中文一区二区| 国产一区二区三区四区五区传媒| 日本视频一区二区| 在线看片国产福利你懂的| 久久精品不卡| 欧洲av一区二区| 久久黄色影视| 国产精品片aa在线观看| 丰满少妇一区| 婷婷综合亚洲| 国产一区二区亚洲| 亚洲免费毛片| 日本少妇一区| 日韩伦理在线一区| 日韩欧美中文字幕一区二区三区| 91精品国产调教在线观看| 国产亚洲激情| 一区二区自拍| 成人午夜在线| 国产伦一区二区三区| 老牛影视精品| 国产精品一区二区三区www| 欧美a级片一区| 日韩av首页| 亚洲精品88| 免费一二一二在线视频| 国产精品va视频| 亚洲香蕉视频| 日韩手机在线|