1、起因
伪装成功。
想要从和讯网上爬取数据,写下代码如下:
url = 'http://stockdata.stock.hexun.com/601398.shtml'
resp = urllib2.urlopen(url)
html = resp.read()
print html
运行后提示“urllib2.HTTPError: HTTP Error 403: Forbidden”。
2、分析
通过将程序伪装成浏览器,可以解决此问题。
3、解决
将程序伪装成浏览器,需要在程序获取网页数据时填加headers。
填加headers,需要使用到Request(首字母大写)。
url = 'http://stockdata.stock.hexun.com/601398.shtml'
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
req = urllib2.Request(url, headers = header)
resp = urllib2.urlopen(req)
html = resp.read()
print html
伪装成功。