我在Python中使用urllib.urlretrieve
来下载网站。虽然有些网站似乎不希望我下载它们,除非他们有自己网站的适当推荐人。有没有人知道我可以在Python的一个库或外部库中设置引用者的方法。
答案 0 :(得分:12)
import urllib2
req = urllib2.Request('http://www.example.com/')
req.add_header('Referer', 'http://www.python.org/')
r = urllib2.urlopen(req)
采用
答案 1 :(得分:3)
urllib
使得很难随请求发送任意标头;你可以使用urllib2,它允许你构建和发送一个带有任意标题的Request对象(当然包括 - 唉可悲的拼写;-) - Referer
)。不提供urlretrieve
,但只需urlopen
就可以很容易地将结果文件类对象复制到磁盘(如果需要)(直接或通过shutil函数)。
答案 2 :(得分:3)
此外,将urllib2
与build_opener
一起使用即可:
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('Referer', 'http://www.python.org/')]
opener.open('http://www.example.com/')