![](/img/trans.png)
[英]Web scraping with BeautifulSoup .find() always returns None
[英]Web scraping with BeautifulSoup Python returns None
我試圖從http://rss.cnn.com/rss/money_markets.rss
獲取一些文本,當我運行代碼時,我不斷得到None
輸出。 如果有幫助,我會嘗試從網絡上獲取所有小標題以及它們下面的文本。 謝謝!
import requests
import bs4
from bs4 import BeautifulSoup
web = requests.get("http://rss.cnn.com/rss/money_markets.rss")
start = bs4.BeautifulSoup(web.text, 'lxml')
scrape = start.find(".regularitem")
for i in scrape:
print(scrape)
瀏覽器以用戶友好的方式呈現http://rss.cnn.com/rss/money_markets.rss
的數據,即 HTML,但數據本身實際上是 XML。 您可以通過print(response.headers['content-type'])
返回'text/xml; charset=ISO-8859-1'
'text/xml; charset=ISO-8859-1'
。 因此,您所追求的是item
XML 元素。 另外,我建議使用find_all()
來獲取所有元素,而不是僅返回第一個元素的find()
。
import bs4
import requests
response = requests.get("http://rss.cnn.com/rss/money_markets.rss")
soup = bs4.BeautifulSoup(response.text, 'lxml')
for item in soup.find_all("item"):
print(item.title.text)
print(item.description.text)
print("\n")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.