Request中的Forbidden(403)错误,Python 3.5中的urlopen

问题描述 投票:0回答:1

我正在尝试以下代码来访问Python 3.5中的URL http://learncodethehardway.org/words.txt,但我看到403 HTTP错误。我应该如何配置我的headers以避免这种情况?

import urllib.request
url = "http://learncodethehardway.org/words.txt"

hdr = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
  'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
  'Accept-Encoding': 'none',
  'Accept-Language': 'en-US,en;q=0.8',
  'Connection': 'keep-alive'}
req = urllib.request.Request(url, None, headers=hdr)
html = urllib.request.urlopen(req)

print (html.read())
python python-3.5 http-status-code-403 openurl
1个回答
0
投票

这对我有用:

import urllib.request
url = 'http://learncodethehardway.org/words.txt'
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
html = urllib.request.urlopen(req).read()
print(html.decode())

有关更多信息,请参阅类似的问题:HTTP error 403 in Python 3 Web Scraping

© www.soinside.com 2019 - 2024. All rights reserved.