2017-03-08 65 views
1

我是新來的HTML和Python。美麗的湯4:使用select來指定href

我有以下的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> 

有許多類:包含的標籤的 我試圖使用選擇BS4的功能得到HREF中的所有類BBB BBB。

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

您應該檢查的第一件事是如果您在問題中提供的HTML代碼是您在數據文件中的實際代碼。該HTML顯然不正確,因爲這些屬性在標籤之外。 – Mikk

+0

@Mikk對不起,我的粗心,我已經更新了HTML。 –

+0

'select'命令返回一個列表。如果列表爲空,意味着什麼都沒有找到,那麼您無法訪問列表的第一項。 –

回答

0

select命令返回一個列表。如果列表爲空,意味着什麼都沒有找到,那麼您無法訪問列表的第一項。