我是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。
有什么方法可以使它有效吗?
答案 0 :(得分:0)
select
命令返回一个列表。如果列表为空,表示未找到任何内容,则表示您无法访问列表中的第一项。