我正在尝试自动下载出现在google图片搜索中的第一张图片,但无法读取网站源,并且发生错误(“ HTTP错误403:禁止访问”)。
有任何想法吗?谢谢您的帮助!
那是我的代码:
from urllib.request import urlopen
from bs4 import BeautifulSoup
word = 'house'
r = urlopen('https://www.google.pl/search?&dcr=0&tbm=isch&q='+word)
data = r.read()
最佳答案
显然,您必须传递headers
参数,因为该网站阻止您以为您是请求数据的机器人。我在HTTP error 403 in Python 3 Web Scraping处找到了执行此操作的示例。
另外,urlopen
对象不支持headers
参数,因此我不得不使用Request
对象。
from urllib.request import urlopen, Request
from bs4 import BeautifulSoup
word = 'house'
r = Request('https://www.google.pl/search?&dcr=0&tbm=isch&q='+word, headers={'User-Agent': 'Mozilla/5.0'})
response = urlopen(r).read()
关于python - Python 3,urlopen-HTTP错误403:禁止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47594331/