【问题标题】:Python 3, urlopen - HTTP Error 403: ForbiddenPython 3,urlopen - HTTP 错误 403:禁止
【发布时间】:2018-05-15 14:44:56
【问题描述】:

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

【问题讨论】:

标签: python


【解决方案1】:

显然您必须传递 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()

【讨论】:

  • 谢谢@Alex,它解决了我的问题!现在我可以阅读网站源代码了:)
猜你喜欢
  • 1970-01-01
  • 2020-07-07
  • 1970-01-01
  • 2016-06-20
  • 2011-07-12
  • 2018-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多