我想从该网站获取内容。
如果使用Firefox或Chrome这样的浏览器,则可以获取所需的真实网站页面,但是如果使用Python request软件包(或wget命令)进行获取,则它将返回完全不同的HTML页面。
wget
我认为该网站的开发人员为此做了一些阻碍。
如何使用python请求或命令wget伪造浏览器访问?
提供User-Agent标题:
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伪造者与真实世界数据库
假用户代理
最新的简单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'