【发布时间】:2014-03-02 12:10:03
【问题描述】:
我有一个具有不同 class 和 div 属性的 html 文件,如下所示
<div id="meat">
<div id="tag_nav" class="font2 pad2">
Comics:
<a id="tag_nav_random" href="/random">Random</a>
<a id="tag_nav_popular" href="/tag/popular">Most Popular</a>
<a href="/comics">All</a>
<a href="/tag/cats">Cats</a>
<a href="/tag/grammar">Grammar</a>
<a href="/tag/food">Food</a>
<a href="/tag/animals">Animals</a>
<a href="/tag/tech">Tech</a>
<li>
<div class="bg_comic">
<a href="/comics/mantis_shrimp"><img src="http://s3.amazonaws.com/theoatmeal-img/thumbnails/mantis_shrimp.png" alt="Why the mantis shrimp is my new favorite animal" class="border0" /></a>
</div>
<div class="category_and_view">
</li>
我想提取我的 html 页面中仅属于类 bg_comic 的所有链接,并忽略可能属于不同类的其他 标记。 我正在尝试以下方法,但它不起作用:
links=soup.find_all("a",class_="bg_comic")
for tag in links:
link=tag.get('href',None)
在上面的示例中,link 变量的值应为 /comics/mantis_shrimp,而不是任何其他值。但是我的代码没有打印任何东西。
我做错了什么?在使用 BeautifulSoup 处理网页时,我们如何通过 class 或 div id 值过滤链接?
【问题讨论】:
标签: python python-2.7 beautifulsoup