如何修复 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
并且可读性更高。此外,它会自动为您解码内容。
我正在尝试网络抓取,这是我的代码。
出于某种原因,我收到 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
并且可读性更高。此外,它会自动为您解码内容。