Python爬虫构建随机请求头headers

简介:
通过User-Agent构建请求头headers能够将爬虫伪装,但是有的网站会有反爬技术。会去检查请求头,进而封掉ip地址。所以一个稍微不错的方法就是使用不用的User-Agent构建请求头,在每次提交网站请求的时候,使用随机请求头迷惑对方。
构造随机请求头:
一种比较笨的方法就是去搜集各种User-Agent构建请求头,写一个随机函数,每次挑选一个User-Agent。既然这么繁琐的工作,程序员肯定看不下去呀,毕竟人生苦短。于是就诞生了一个fake_useragent的库,专门用于python爬虫伪装。

首先下载该库:

pip install fake-useragent

通过导入该库,查看是否安装成功:

>>>import fake_useragent

接下来,我们输入以下代码:

from fake_useragent import UserAgent
for i in range(5):
    print(UserAgent().random)

结果如下:

Mozilla/5.0 (Windows x86; rv:19.0) Gecko/20100101 Firefox/19.0
Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36
Mozilla/5.0 (Microsoft Windows NT 6.2.9200.0); rv:22.0) Gecko/20130405 Firefox/22.0
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 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36

首先我们要从fake_useragent库中导入UserAgent(),然后调用它的random就可以获得随机的UserAgent。除此之外我们还可以获得指定浏览器类型的UserAgent。代码如下:

from fake_useragent import UserAgent
print(UserAgent().chrome)
print(UserAgent().ie)
print(UserAgent().firefox)
print(UserAgent().opera)
print(UserAgent().safari)

结果为:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1623.0 Safari/537.36
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; Media Center PC 6.0; InfoPath.3; MS-RTC LM 8; Zune 4.7)
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0
Opera/9.80 (X11; Linux x86_64; U; Ubuntu/10.10 (maverick); pl) Presto/2.7.62 Version/11.01
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; it-it) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27

文章来源:https://finthon.com/python-spider-headers/

你可能感兴趣的:(python)