使用fake-useragent库自动生成User-Agent,提升爬虫开发效率

版权声明:欢迎访问博主官方博客:www.eastnotes.com。一个基于Django框架和Next主题的博客网站 https://blog.csdn.net/gaifuxi9518/article/details/89294002

爬虫其实就是一种模拟浏览器行为从而获取所需信息的一种手段,既然要模拟浏览器,那么首先就要模拟浏览器向服务器发送请求的headers。因此在写爬虫程序的时候,我们往往首先会去构造一个请求头,也就是一个headers字典,就像下面这种形式:

headers = {
    'Accept': '*/*',
    'Accept-Language': 'en-US,en;q=0.8',
    'Cache-Control': 'max-age=0',
    'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like 	Gecko) 						Chrome/48.0.2564.116 Safari/537.36',
    'Connection': 'keep-alive',
    'Referer': 'http://www.baidu.com/'
}

这其实是一种非常非常基础的反爬手段,也是最容易实现的。如果你的爬虫程序中连请求头都没有,可以说你连网站的页面信息都抓取不到,更别谈获取你想要的更精确的信息了。在请求头里面最重要的信息是User-Agent,我们可以把它理解为浏览器的标识符,设置了User-Agent,我们就成功地伪装成了浏览器了。

但初学者在设置User-Agent的时候,往往会像上面的代码一样,手动赋值。这种弄做法有两个弊端:1.太麻烦,每次写爬虫都要赋值粘贴这么一串字符串,想想都觉得麻烦。1.不灵活,爬虫程序一旦运行起来就会频繁地向服务器发送请求,如果每次都拿着一样的User-Agent找服务器要数据,那么服务器很容易就会把你理解为爬虫程序,然后把你关在小黑屋了……

今天给大家介绍一个Python第三方包,叫做fake-useragent,他可以为你随机生成不同的User-Agent,省的你再去一次次复制粘贴了,两全其美。我们来看一下如何使用它吧!

首先用pip进行安装:

pip install fake-useragent

使用方法如下:

import requests
from fake_useragent import UserAgent
ua = UserAgent()
headers = {'User-Agent': ua.random}
url = '待爬网页的url'
resp = requests.get(url, headers=headers)
#省略具体爬虫的解析代码,大家可以回去试试
...

关注我公众号【程序员向东】,此公众号专注分享Python、爬虫学习资料和干货,关注后回复【PYTHON】,无套路免费送你一个学习大礼包,包括爬虫视频和电子书~
程序员向东

猜你喜欢

转载自blog.csdn.net/gaifuxi9518/article/details/89294002