python爬虫之User Agent

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫之User Agent相关的知识,希望对你有一定的参考价值。

在学习爬虫的过程中在有的时候没使用头在使用python的爬虫脚本刚爬了两次,就只是测试了一下就打不开这个网页了,刚开始还一直迷糊着,到后来才知道,python在做爬虫的时候默认的user agent就是python的大版本,python2.7.的User-Agent: Python-urllib/2.7;python3.5.的User-Agent: Python-urllib/3.5

下面来做个试验:
python代码如下:

python2

import urllib2

url = "http://www.baidu.com/"

request = urllib2.Request(url)

response = urllib2.urlopen(request)

print(response.read())

python3

from urllib import request

url = "http://www.baidu.com/"

req = request.Request(url)

response = request.urlopen(req)

print(response.read().decode()

我们开启fiddler,运行完成代码,然后在fiddler上面查看下我们的数据
技术分享图片
很明显就是python的版本,
因此我们在学习爬虫的时候无论爬什么,代码最好都要加上这个头信息

下面我们在代码上加入一个头

from urllib import request

headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64"
}

url = "http://www.baidu.com/"

req = request.Request(url,headers=headers)

response = request.urlopen(req)

print(response.read().decode())

抓包的结果如下:
技术分享图片

以上是关于python爬虫之User Agent的主要内容,如果未能解决你的问题,请参考以下文章

2017.08.10 Python爬虫实战之爬虫攻防篇

Python 爬虫之设置ip代理,设置User-Agent,设置请求头,设置post载荷

Python爬虫从入门到放弃(二十三)之 Scrapy的中间件Downloader Middleware实现User-Agent随机切换

动态ip代理:反网络爬虫之设置User-Agent的常规方法

《python编程锦囊》之网络爬虫

python网页爬虫开发之五-反爬