1

Python 新手,我一直在寻找使用 BeautifulSoup 在 html 中打印所有“需要的值”,类似于:

<!-- UNIQUE COMMENT 1 -->
</td>
<td class="same_class_name">
 Value Needed A
</td>
<!-- UNIQUE COMMENT 2 -->
</td>
<td class="same_class_name">
 Value Needed B
</td>
<!-- UNIQUE COMMENT 3 -->
</td>
<td class="same_class_name">
 Value Needed C
</td>

我试过写这段代码:

valueNeeded = soup.body.find('td', attrs={'class':'same_class_name'}).text
print valueNeeded

这确实会打印出“Value Needed A”,但我的问题是它不考虑接下来的两个值。我还尝试确定是否有一种方法可以先在评论中找到唯一值,然后再找到该值,但仍然没有运气。

任何有助于提取这些值的帮助将不胜感激。提前致谢。

4

1 回答 1

0

使用find_all()

>>> valueNeeded = soup.find_all('td', attrs={'class':'same_class_name'})
>>> for tag in valueNeeded:
...     print tag.text.strip()
... 
Value Needed A
Value Needed B
Value Needed C

请注意,我soup.body从您的代码中删除了,因为它似乎返回None给我。

如果您使用的是 BeautifulSoup 版本 3,那么您需要使用findAll().

于 2013-08-18T01:41:44.743 回答