gpt4 book ai didi

python - 使用 bs4 查找特定链接文本

转载 作者:太空狗 更新时间:2023-10-30 02:20:22 25 4
gpt4 key购买 nike

我正在尝试抓取一个网站并找到提要的所有标题。我无法获取我需要的 a 标签的文本。这是 html 的示例。

<td class="m" id="b1"><a href="/QSYcfT" id="c1" target="_blank" onClick="vPI('https://www.youtube.com/watch?v=BFNH-6K10Ic', 'QSYcfT', this.id); this.blur(); return false;">TF4 - Oreos</a> <a href="#" onClick="return lkP('1', 'QSYcfT');" id="x1"><font class="bp">(0)</font></a>
<td class="m" id="b2"><a href="/zXHNvp" id="c2" target="_blank" onClick="vPI('https://www.youtube.com/watch?v=0vjcGwZGBYI', 'zXHNvp', this.id); this.blur(); return false;">Awesome Game Boy Facts</a> <a href="#" onClick="return lkP('2', 'zXHNvp');" id="x2"><font class="bp">(0)</font></a>

我正在尝试获取 ID 为 c 的每个 a 标记的文本,并在新行上打印每个标记。

我的输出应该是这样的。

TF4 - Oreos
Awesome Game Boy Facts

到目前为止,我已经尝试过了。

soup = bs4.BeautifulSoup(html)
links = soup.find_all('a',{'id' : 'c'})
for link in links:
print link.text

但它没有找到或打印任何东西?

最佳答案

您可以 pass a regular expression代替属性值:

links = soup.find_all('a', {'id': re.compile('^c\d+')})

^表示字符串的开头,\d+匹配一个或多个数字。

演示:

>>> import re
>>> from bs4 import BeautifulSoup
>>>
>>> html = """
... <tr>
... <td class="m" id="b1"><a href="/QSYcfT" id="c1" target="_blank" onClick="vPI('https://www.youtube.com/watch?v=BFNH-6K10Ic', 'QSYcfT', this.id); this.blur(); return false;">TF4 - Oreos</a> <a href="#" onClick="return lkP('1', 'QSYcfT');" id="x1"><font class="bp">(0)</font></a></td>
... <td class="m" id="b2"><a href="/zXHNvp" id="c2" target="_blank" onClick="vPI('https://www.youtube.com/watch?v=0vjcGwZGBYI', 'zXHNvp', this.id); this.blur(); return false;">Awesome Game Boy Facts</a> <a href="#" onClick="return lkP('2', 'zXHNvp');" id="x2"><font class="bp">(0)</font></a></td>
... </tr>
... """
>>> soup = BeautifulSoup(html)
>>> links = soup.find_all('a', {'id': re.compile('^c\d+')})
>>> for link in links:
... print link.text
...
TF4 - Oreos
Awesome Game Boy Facts

关于python - 使用 bs4 查找特定链接文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23762464/

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