小编典典

如何使用Python请求伪造浏览器又访问并生成用户代理?

python

我想从网站获取内容。

如果使用Firefox或Chrome这样的浏览器,则可以获取所需的真实网站页面,但是如果使用Python
request软件包(或wget命令)进行获取,则它将返回完全不同的HTML页面。

我认为该网站的开发人员为此做了一些阻碍。

如何使用python请求或命令wget伪造浏览器访问?


阅读 176

收藏
2020-12-20

共1个答案

小编典典

提供User-Agent标题

import requests

url = 'http://www.ichangtou.com/#company:data_000008.html'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}

response = requests.get(url, headers=headers)
print(response.content)

仅供参考,以下是针对不同浏览器的User-Agent字符串列表:


附带说明一下,有一个非常有用的第三方程序包,称为fake-useragent,它在用户代理上提供了一个不错的抽象层:

假用户代理

最新的简单useragent伪造者与真实世界数据库

演示:

>>> from fake_useragent import UserAgent
>>> ua = UserAgent()
>>> ua.chrome
u'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36'
>>> ua.random
u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'
2020-12-20