电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python實現三種隨機請求頭方式

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

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

思路介紹:

其實要達到隨機的效果,很大程度上我們可以利用隨機函數庫random 這個來實現,可以調用random.choice([user-agent]) 隨機pick數組中一個就可以了,這是我的一種方式。

python作為一個擁有眾多第三方包的語言,自然就有可以生成隨機請求頭的包咯,沒錯,就是fake-useragent 這個第三方庫了,稍后我們介紹一下這個函數庫的簡單使用。

既然別人可以寫第三方庫,自然自己也可以實現一個這樣的功能,大部分情況下,我很多代碼都是直接調用我自己實現的一個GetUserAgentCS 類,直接就可以獲取一個隨機請求頭了,直接寫函數庫,才牛逼舒服, 這個我也會在下面介紹如何編寫函數庫。

自己編寫第三方庫:

不知道你們寫代碼的框架是怎樣的,面向過程還是面向對象? 對于一次性的代碼,就簡單的編碼就行了,如果你覺得這個代碼它可以會在很多的地方用得到,可以重復使用,那么你就可以使用類的方式,去編寫這個代碼,那么在其他的文件中,你就可以直接調用你的寫這個文件,直接調用你寫的class類中的各種方法,而我也是這樣實現的一個隨機請求頭的一個第三方庫, 如下:

import randomimport csvclass GetUserAgentCS(object): ''' 調用本地請求頭文件, 返回請求頭 ''' def __init__(self): with open(’D://pyth//scrapy 項目//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...

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

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

如果你在這個調用GetUserAgentCS 不成功, 或者底下會出現紅色的波浪線, 那么就是你沒有設置當前工作環境,你只需要這么設置(設置你的爬蟲文件夾):

python實現三種隨機請求頭方式

你需要點擊 Sources Root 就可以了!

使用第三方庫 fake-useragent:

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

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

安裝

pip install fake-useragent

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

使用方式

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

這個時候,直接用random就可以了,簡單。

讀取內存數組:

這個時候就有很多人說, 我就換個請求頭而已,需要這么麻煩嗎? 當然,自然有簡單的方式,只不過每次都需要復制來用,不是很方法,具體如下:

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']

預先把請求頭放入數組里面,然后用就可以了。

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

以上就是我關于請求頭的幾種設置方式了,有需要補充的可以評論區留言。

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

到此這篇關于python實現三種隨機請求頭方式的文章就介紹到這了,更多相關python 隨機請求頭內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 伊卡洛斯软装首页-电动窗帘,别墅窗帘,定制窗帘,江浙沪1000+别墅窗帘案例 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 圈酒招商网【jiushuitv.com】_酒水招商_代理_加盟平台 | 威廉希尔WilliamHill·足球(中国)体育官方网站| 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | Boden齿轮油泵-ketai齿轮泵-yuken油研-无锡新立液压有限公司 | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 智慧钢琴-电钢琴-便携钢琴-数码钢琴-深圳市特伦斯乐器有限公司 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | 电缆故障测试仪_电缆故障定位仪_探测仪_检测仪器_陕西意联电气厂家 | 透平油真空滤油机-变压器油板框滤油机-滤油车-华之源过滤设备 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 济南画室培训-美术高考培训-山东艺霖艺术培训画室 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 膜片万向弹性联轴器-冲压铸造模具「沧州昌运模具」 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 篮球架_乒乓球台_足球门_校园_竞技体育器材_厂家_价格-沧州浩然体育器材有限公司 | 定坤静电科技静电消除器厂家-除静电设备 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 家用净水器代理批发加盟_净水机招商代理_全屋净水器定制品牌_【劳伦斯官网】 |