Python 3,urlopen - HTTP 错误 403:禁止

Woj*_*ech 3 python

我试图自动下载出现在谷歌图像搜索中的第一张图像,但我无法读取网站源代码并且发生错误(“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()
Run Code Online (Sandbox Code Playgroud)

Ale*_*x F 7

显然你必须传递这个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()
Run Code Online (Sandbox Code Playgroud)