beautifulsoup只在谷歌的某个类中获得href

时间:2014-05-19 01:16:04

标签: python hyperlink beautifulsoup href

我想只获得谷歌的十个链接,(我想这个班级在哪里??

<cite class="_Od">
https://www.
<b>python</b>
.org/
</cite>
<div class="action-menu ab_ctl">
<a id="am-b0" class="clickable-dropdown-arrow ab_button" data-ved="0CC4Q7B0wAA"
role="button" aria-haspopup="true" aria-expanded="false" jsaction="ab.tdd
keydown:ab.hbke;  keypress:ab.mskpe" aria-label="Result details" href="#">
<div class="action-menu-panel ab_dropdown" data-ved="0CC8QqR8wAA" tabindex="-1" 
role="menu" jsaction="keydown:ab.hdke;mouseover:ab.hdhne;mouseout:ab.hdhue">

我知道如何获取所有锚标记,但我不知道如何只获取该Od类中的锚标记?

anchor = soup.find_all('a')
for a in anchor:
print a

更新

收到以下错误...

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-18-248b7ec4fbed> in <module>()
  8 s = soup.prettify()
  9 
---> 10 atags = soup.find('cite', {'class': '_Od'}).findAll('a')
  11 for tag in atags:
  12     print tag
AttributeError: 'NoneType' object has no attribute 'findAll'

1 个答案:

答案 0 :(得分:0)

为什么不缩小您的搜索范围(找到课程)并获取孩子(标签)(当然,您的代码段中似​​乎没有任何<a>标签,所以什么都不会实测值):

atags = soup.find('cite', {'class': '_Od'}).findAll('a')
for tag in atags:
    print tag

修改(很抱歉以前省略此内容)

这样做会找到包含类cite的第一个_Od标记,并将其用作查找所有包含的a标记的基础。