我有一個關於使用其子項屬性之一的條件來選擇標籤列表(或單個標籤)的問題。具體地,給出的HTML代碼:根據美麗的湯中兒童的文本值查找標籤列表
<tbody>
<tr class="" data-row="0">
<tr class="" data-row="1">
<tr class="" data-row="2">
<td align="right" csk="13">13</td>
<td align="left" csk="Jones,Andre"><a href="/players/andre-jones-2.html">Andre Jones</a>
</td>
<tr class="" data-row="3">
<td align="right" csk="7">7</td>
<td align="left" csk="Jones,DeAndre"><a href="/players/deandre-jones-1.html">DeAndre Jones</a>
</td>
<tr class="" data-row="4">
<tr class="" data-row="5">
我有一個Unicode變量從外部環路來了,我想通過每行看在表Player==Table.tr.a.text
提取<tr>
標籤和識別重複的球員名字Table
。因此,舉例來說,如果有多於一名玩家Player=Andre Jones
,MyRow
對象返回包含該玩家名稱的所有<tr>
標籤,而如果只有一行Player=Andre Jones
,那麼MyRow
僅包含具有等於錨文本屬性的單個元素<tr>
到Andre Jones
。我一直在努力的事情像
Table = soup.find('tbody')
MyRow = Table.find_all(lambda X: X.name=='tr' and Player == X.text)
但這返回[]
爲MyRow
。如果我使用
MyRow = Table.find_all(lambda X: X.name=='tr' and Player in X.text)
這將挑選具有Player
爲X.text
一個子任何<tr>
。在上面的示例代碼中,它提取了<tr>
標籤與Table.tr.td.a.text=='Andre Jones'
和Table.tr.td.a.text=='DeAndre Jones'
。任何幫助,將不勝感激。
太好了!非常感謝你的幫助。 –
@MarkClements請標記最能幫助您的答案,以便其他人可以輕鬆搜索。 –
代碼似乎是匹配首字母或姓氏,而不是整個名稱。因此,它不僅將「安德烈瓊斯」和「德安德魯瓊斯」視爲相同,還包括「特倫斯」和「特倫斯薩爾斯伯裏」。 –