我在網絡爬蟲/抓取方面的知識非常有限,并且正在嘗試為此創建一個網絡爬蟲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
提交
取消