如何修复 HTTP 错误 400:错误请求?

How do I fix a HTTP Error 400: Bad Request?

我正在尝试网络抓取,这是我的代码。

出于某种原因,我收到 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()

修正你的 header:

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 并且可读性更高。此外,它会自动为您解码内容。