我正在尝试网络抓取,这是我的代码。
出于某种原因,我收到 HTTP 错误 400:错误请求,我以前从未遇到过这种情况。
有什么想法吗?
这是我的代码:
import urllib.request
import re
url = ('https://www.myvue.com/whats-on')
req = urllib.request.Request(url, headers={'User Agent': 'Mozilla/5.0'})
def main():
html_page = urllib.request.urlopen(req).read()
content=html_page.decode(errors='ignore', encoding='utf-8')
headings = re.findall('<th scope="col" abbr="(.*?)">', content)
print(headings)
main()
最佳答案
修复标题:
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
是User-Agent
,不是User Agent
。
此外,我建议切换到 requests
模块。
import requests
html_page = requests.get(url, {'User-Agent': 'Mozilla/5.0'}).text
这相当于三行 urllib
并且更具可读性。此外,它会自动为您解码内容。
关于python - 如何修复 HTTP 错误 400 : Bad Request?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45058583/