Python 请求错误 400 浏览器发送了无效请求

我在网络爬虫/抓取方面的知识非常有限,并且正在尝试为此创建一个网络爬虫URL。但是,当我尝试从服务器通常打印响应文本时,我得到了这个:


<html><body><h1>400 Bad request</h1>

Your browser sent an invalid request.

</body></html>

我认为代码没有任何问题,因为它可以在我尝试过的其他网站上运行。希望这里的好人能帮我解决这个问题。这只是一种预感,但这是否是由 url 不以 a 结尾引起的.xml?


import requests

url = 'https://phys.org/rss-feed/'

res = requests.get(url)

print(res.text[:500])


小怪兽爱吃肉
浏览 61回答 1
1回答

慕村9548890

尝试使用BeautifulSoup和标头来掩盖您的请求,就像一个真实的请求一样:import requests,lxmlfrom bs4 import BeautifulSoupURL='https://phys.org/rss-feed/'USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0"headers = {"user-agent": USER_AGENT}resp = requests.get(URL, headers=headers)soup = BeautifulSoup(resp.content, "lxml")print(soup)仅屏蔽也有效:import requestsURL='https://phys.org/rss-feed/'USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0"headers = {"user-agent": USER_AGENT}resp = requests.get(URL, headers=headers)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python