gpt4 book ai didi

python - 使用 Beautiful Soup findall 提取单引号之间的文本

转载 作者:行者123 更新时间:2023-11-28 22:39:49 24 4
gpt4 key购买 nike

我正在使用 Beautiful Soup,我想使用 findall 方法提取 '' 中的文本。

content = urllib.urlopen(address).read()
soup = BeautifulSoup(content, from_encoding='utf-8')
soup.prettify()
x = soup.findAll(do not know what to write)

以汤汁为例:

<td class="leftCell identityColumn snap" onclick="fundview('Schroder
European Special Situations');" title="Schroder European Special
Situations"> <a class="coreExpandArrow" href="javascript:
void(0);"></a> <span class="sigill"><a class="qtpop"
href="/vips/ska/all/sv/quicktake/redirect?perfid=0P0000XZZ3&amp;flik=Chosen">
<img
src="/vips/Content/corestyles/4pSigillGubbe.gif"/></a></span>
<span class="bluetext" style="white-space: nowrap; overflow:
hidden;">Schroder European Spe..</span>

我希望 soup.findAll(不知道该写什么) 的结果是:Schroder European Special Situations 并且 findall 逻辑应该基于此它是单引号之间的文本。

最佳答案

找到 td 元素并获取 onclick 属性值 - 此时 BeautifulSoup 的工作将完成。下一步是从属性值中提取所需的文本——让我们为此使用正则表达式。实现:

import re

onclick = soup.select_one("td.identityColumn[onclick]")["onclick"]

match = re.search(r"fundview\('(.*?)'\);", onclick)
if match:
print(match.group(1))

或者,它看起来像带有 bluetext 类的 span 里面有所需的文本:

soup.select_one("td.identityColumn span.bluetext").get_text()

此外,请确保您使用的是 4th BeautifulSoup version你的导入语句是:

from bs4 import BeautifulSoup

关于python - 使用 Beautiful Soup findall 提取单引号之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34372562/

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