我在网络爬虫/抓取方面的知识非常有限,并且正在尝试为此创建一个网络爬虫URL。但是,当我尝试从服务器通常打印响应文本时,我得到了这个:<html><body><h1>400 Bad request</h1>Your browser sent an invalid request.</body></html>我认为代码没有任何问题,因为它可以在我尝试过的其他网站上运行。希望这里的好人能帮我解决这个问题。这只是一种预感,但这是否是由 url 不以 a 结尾引起的.xml?import requestsurl = 'https://phys.org/rss-feed/'res = requests.get(url)print(res.text[:500])
1 回答

慕村9548890
TA贡献1884条经验 获得超4个赞
尝试使用BeautifulSoup和标头来掩盖您的请求,就像一个真实的请求一样:
import requests,lxml
from bs4 import BeautifulSoup
URL='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 requests
URL='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)
添加回答
举报
0/150
提交
取消