簡體   English   中英

我只想打印來自 GoogleNews 的 1 個故事

[英]I only want to print 1 story from GoogleNews

我目前正試圖弄清楚如何從 GoogleNews 打印 1 個單一的故事,現在我還不得不提到我正在抓取它,這使得它變得更加困難(我猜)。 我也嘗試用谷歌搜索它,但我在互聯網上找不到任何東西。 所以這是我的代碼:

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen

news_url = "https://news.google.com/rss?hl=de&gl=DE&ceid=DE:de"
Client = urlopen(news_url)
xml_page = Client.read()
Client.close()

soup_page = soup(xml_page, "xml")
news_list = soup_page.findAll("item")

for news in news_list:
    print(news.title.text)
    print(news.link.text)
    print(news.pubDate.text)

所以當我運行這段代碼時,它會返回一堆今天的故事,但我只想打印出 1. 故事。 有沒有辦法做到這一點?

您可以使用 find 方法來做到這一點,如下所示:

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen

news_url = "https://news.google.com/rss?hl=de&gl=DE&ceid=DE:de"
Client = urlopen(news_url)
xml_page = Client.read()
Client.close()

soup_page = soup(xml_page, "xml")
news = soup_page.find("item")

#for news in news_list:
print(news.title.text)
print(news.link.text)
print(news.pubDate.text)

或者您可以使用列表切片:

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen

news_url = "https://news.google.com/rss?hl=de&gl=DE&ceid=DE:de"
Client = urlopen(news_url)
xml_page = Client.read()
Client.close()

soup_page = soup(xml_page, "xml")
news_list = soup_page.findAll("item")

for news in news_list[:1]:
    print(news.title.text)
    print(news.link.text)
    print(news.pubDate.text)

輸出:

Corona-News-Ticker: Die meisten Ungeimpften wollen ungeimpft bleiben - NDR.de
https://news.google.com/__i/rss/rd/articles/CBMigQFodHRwczovL3d3dy5uZHIuZGUvbmFjaHJpY2h0ZW4vaW5mby9Db3JvbmEtTmV3cy1UaWNrZXItRGllLW1laXN0ZW4tVW5nZWltcGZ0ZW4td29sbGVuLXVuZ2VpbXBmdC1ibGVpYmVuLGNvcm9uYWxpdmV0aWNrZXIxMzYyLmh0bWzSAQA?oc=5
Thu, 28 Oct 2021 10:56:34 GMT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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