Python3,urlopen-HTTP错误403:禁止
我试图自动下载谷歌图片搜索中出现的第一张图片,但我无法读取网站源代码,出现错误(“HTTP错误403:禁止”)。 有什么想法吗?谢谢你的帮助 这是我的密码:Python3,urlopen-HTTP错误403:禁止,python,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.r
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
参数,因为网站阻止您,认为您是请求数据的机器人。我在这里找到了一个这样做的例子
另外,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()
也许谷歌不喜欢由
urlopen()
可能重复的@Wojciech发送的默认用户代理。请看我的答案。谢谢@Alex,它解决了我的问题!现在我可以阅读网站来源:)@Wojciech你能投票接受我的答案吗?