美丽的汤4:使用select来获取指定的href

时间:2017-03-08 16:27:39

标签: python html beautifulsoup

我是HTML和Python的新手。

我有以下html片段:

<li data-selenium="aaa" data-isready="true" data-hotelid="1234" data-roomid="12345" class="bbb">
<a id="xxx" data-selenium="" class="yyy" target="_blank" href="/someURL/I_want_to_get">
</a>
</li>

有很多类:bbb包含标签a 我正在尝试使用bs4的 select 函数来获取所有类bbb中的href。

for res in soup.select('.bbb')
  print res.select('a')[0]['href']

我成功了如果标签只包含属性href, 但如果标签如上所述,我会收到错误消息。

IndexError: list index out of range

然后我尝试删除[0]并发生其他错误。

TypeError: list indices must be integers.

我尝试了很多种不同的选择方式,但我无法理解。

我想使用Select代替findAll。

有什么方法可以使它有效吗?

1 个答案:

答案 0 :(得分:0)

select命令返回一个列表。如果列表为空,表示未找到任何内容,则表示您无法访问列表中的第一项。