例如:
<tbody>
<tr><td colspan="2"><p>Unwanted Text 1</p>
</td>
</tr>
<tr><td><a href="http://www.example.com">Text 1</a></td>
<td>Nonesense 1</td>
</tr>
<tr><td><a href="http://www.example2.com">Text 2</a></td>
<td>Nonesense2</td>
</tr>
<tr><td colspan="2"><p class="second-title">Unwanted Text 1</p>
</td>
</tr>
</tbody>
我试过了:
soup.select('tr')
for x in g:
print(x.contents[0].text)
输出:
Unwanted Text 1
Text 1
Text 2
Unwanted Text 2
我怎样才能得到&#34;文字1&#34;和&#34;文字2&#34;而省略其他的。
答案 0 :(得分:2)
您可以直接匹配a
元素:
for item in soup.select('tr > td > a'):
print(item.get_text())
或者,如果您特别想要跳过包含td
属性的colspan
元素的行:
for item in soup.select('tr'):
if item.find("td", colspan=True):
continue
print(item.td.get_text()) # get text of the first cell in the row