gpt4 book ai didi

python - BeautifulSoup 在特定标签中查找文本

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:01 27 4
gpt4 key购买 nike

使用 BeautifulSoup,我试图打印特定标签内的文本,问题是我要打印的文本位于 <tr> 内的标签内标签和网页有 30 <tr>标签。我需要打印的文字在第二个 <td>在第 19 次出现的 <tr> 内标记标签。它看起来像这样:

<tr>...</tr>
<tr>...</tr>
<tr>
<td class="QL">Text1</td>
<td class="QL">Text2</td>
<td class="QL">Text3</td>
</tr>
<tr>...</tr>
<tr>...</tr>

我要打印 Text2。

这是我的尝试:

from urllib.request import urlopen
from bs4 import BeautifulSoup
quote_page = 'http://google.com'
page = urlopen(quote_page)
soup = BeautifulSoup(page, 'html.parser')
for link in soup.find("td", {"class": "QL"}):
print(link)

事实上,它正在打印第一次出现的 <td class="QL">标签。我如何让它打印该标签第 19 次出现的文本,而不同时打印 Text1 和 Text3?

最佳答案

因为您知道要查找的标签的确切位置,您可以使用 find_all()它返回一个列表,然后从所需的索引中获取标签。

在这种情况下,(第 19 个 <tr> 和第 2 个 <td>)使用这个:

result = soup.find_all('tr')[18].find_all('td')[1].text

关于python - BeautifulSoup 在特定标签中查找文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50124914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com