簡體   English   中英

使用 BeautifulSoup Python 進行網頁抓取返回 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM