我正在尝试自动下载出现在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/

10-09 14:40