BeautifulSoup查找特定的字符串

时间:2018-10-12 17:35:06

标签: web-scraping beautifulsoup

我刚刚开始了一个小项目来学习美丽的汤,即使BS网站庞大,我也找不到答案。 我正在分析Billboard100并设法按其div的数组形式获取所有歌曲的列表-很好,我可以为不同的歌曲调用单独的列表。当我需要了解一些详细信息时,问题就开始了-歌曲名称,艺术家名称等。我尝试了text.strip(),然后进行split()和索引,但是不同的歌曲在不同的位置具有不同的详细信息,这意味着我可能应该通过div类找到它们,因为它们对所有歌曲都使用相同的歌曲,这就是我被卡住的地方。

<div class="chart-list-item__title">
<span class="chart-list-item__title-text">
Mona Lisa
</span>
</div>
<div class="chart-list-item__artist">
 Lil Wayne Featuring Kendrick Lamar
</div>

那只是代码的一部分-假设我试图获得“蒙娜·丽莎”和“肯特里克·拉马尔的里尔·韦恩”。有没有办法在我已经从原始HTML中提取的HTML上使用BeautifulSoup?

1 个答案:

答案 0 :(得分:0)

您应该能够找到具有所需类名的div:

此代码假定您只是将卡片(所需歌曲的列表项)作为汤,而不是整个页面:

title = card.find("div", {"class": "chart-list-item__title"}).contents[0]
artist = card.find("div", {"class": "chart-list-item__artist"}).contents[0]