【发布时间】:2020-09-12 10:53:46
【问题描述】:
我正在尝试从网站上抓取浏览次数最多的头条新闻。我想要的文本的类选择器与页面上的其他项目共享常用词。例如,我想要标签和类“black_color”之间的文本。其他项目使用该标签并具有“color_black hover_color_gray_90”类,我不希望包括这些。我在想我可以使用更多的 HTML 元素来更具体,但我不确定如何合并它们。
from bs4 import BeautifulSoup
def getHeadlines():
url = "https://www.bostonglobe.com/"
source_code = requests.get(url)
plainText = source_code.text
soup = BeautifulSoup(plainText, "html.parser")
#results = soup.find_all("h2",{"class":"headline"})
results = soup.find_all("a",{"class":"black_color"})
with open("headlines.txt", "w", encoding="utf-8") as f:
for i in results:
f.write(str(i.text + ' \n' + '\n'))
getHeadlines()
【问题讨论】:
-
您能否提供一些示例数据和所需的提取输出?很难知道您的意思是“我想要标签和类之间的文本” - 类是标签的属性。例如,在您的代码中,您搜索类为
'black_color'的<a>标记。获取它们之间的文本是什么意思?还有其他“使用标签并拥有类”的示例是什么? -
我想在此处嵌入文本:40 磅重的异国宠物猫在新罕布什尔州逍遥法外。此代码也存在于页面上,我不希望这些结果包含在我的输出中:Sports
标签: python web-scraping beautifulsoup