python_fake_useragent_随机请求头模块

fake_useragent_随机请求头模块

当我们在对目标url进行数据采集的时候,难免会遇到反爬,比如说一定时间内你的ip访问量过多的时候,你在请求url,就给你一个反馈,告诉你你的请求次数太频繁,请稍后再试,无法正常的进行数据采集,那么我们可以伪造请求头和ip来对目标url进行访问,这里先介绍请求头。

1.安装

  • 方法一:在cmd命令行中进行安装,pip install fake_useragent
  • 方法二:在Pycharm的settings进行安装

2.简单使用

我们通过导入fake_useragent的UserAgent模块实例化出一个对象,这个实例化对象的random属性就是我们要的随机的请求头

EG1:随机打印请求头

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

执行结果:

Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36
Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; Media Center PC 4.0; SLCC1; .NET CLR 3.0.04320)
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/21.0.1
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36

 可以看到,每次打印的请求头都不尽相同。

 

EG2:使用http://httpbin.org/user-agent进行测试

补充:httpbin.org这个网址是专门用来测试的,测试你发送请求的各种信息,比如ip,请求头,cookies,data等等

http://httpbin.org/user-agent是用来获取请求头的,你也可以在网页中直接打开,就是你刚发送请求的请求头了,如下图,两个使用开发者查看请求的请求头和该网址的响应是一样的。

python_fake_useragent_随机请求头模块_第1张图片

 

这里使用requests模块来发送这个请求

# EG2:使用http://httpbin.org/user-agent进行测试
import requests
from fake_useragent import UserAgent

url = "http://httpbin.org/user-agent"
for i in range(5):
    headers = {
        "user-agent": UserAgent().random
    }
    res = requests.get(url, headers=headers)
    print(res.text)

 执行结果如下,测试结果和预期一致,不尽相同

{
  "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0"
}

{
  "user-agent": "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36"
}

{
  "user-agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36"
}

{
  "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36"
}

{
  "user-agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; chromeframe/11.0.696.57)"
}

在对请求头犯愁的情况就不复存在了!!!

 

 

你可能感兴趣的:(python,爬虫,代理,安装模块,fake_useragent,请求头)