我有一个关于使用一个条件来选择一个标记列表(或单个标记)的问题。具体来说,给定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>
标记,并在{Player=Andre Jones
,MyRow
对象返回包含该播放器名称的所有<tr>
标记,而如果只有一行具有Player=Andre Jones
,则{<tr>
,锚文本属性等于Andre Jones
。我一直在尝试
但这将为MyRow
返回[]
。如果我使用
MyRow = Table.find_all(lambda X: X.name=='tr' and Player in X.text)
这将选择具有Player
作为X.text
子字符串的任何{Table.tr.td.a.text=='Andre Jones'
和Table.tr.td.a.text=='DeAndre Jones'
的<tr>
标记。任何帮助都将不胜感激。在
无论你想要什么。:)
解决方案1
逻辑:找到第一个标记,其标记名为tr,并在该标记的文本中包含“FooName”,包括其子标记。在
输出:
^{pr2}$解决方案2
逻辑:找到其文本包含
FooName
的元素,在本例中是anchor
标记。然后在树上搜索标记名为tr
的所有父代(包括祖先)输出
^{pr2}$使用XPath和lxml可以很容易地做到这一点:
美丽组“等价物”应该是:
^{pr2}$或者如果你回头想想:
相关问题 更多 >
编程相关推荐