gpt4 book ai didi

Python 使用正则表达式从 Html 中选取文本

转载 作者:行者123 更新时间:2023-11-30 23:13:39 24 4
gpt4 key购买 nike

部分原文如下,保存在txt文件中。 Html 源代码类似,但不完整。

<span style="cursor:pointer" onmousedown="HI466('1056').click()">Steffen Eddine (PhD) (SEED)</span></span></div><script>HI466("100256").checked=T</script><div id=“k62” style="left:95px;top:15px;width:32;height:25;"><span id="321" name="021"><span style="cursor:pointer" onmousedown="HI466('2321').click()">Petra Schmidt (PESC)</span></span></div><script>HI466("239021").checked=T</script><div id=“k62” style="left:65px;top:15px;width:32;height:25;"><span id="306" name="366"><span style="cursor:pointer" onmousedown="HI466('2366').click()">Peter Kumar (PEKU)</span></span></div><script>HI466("230866").checked=T</script><div id=“k62” style="left:25px;top:35px;width:32;height:25;"><span id="425" name="511"><span style="cursor:pointer" onmousedown="HI466('2421').click()">Raksha Khaldoun (RAKH)</span></span></div><script>HI466("242511").checked=T</script><div id=“k62” style="left:95px;top:35px;width:32;height:25;"><span id="176" name="146"><span style="cursor:pointer" onmousedown="HI466('2176').click()">Yash Chevalier (YACH)</span>

我想要的是从那里选取诸如“Steffen Eddine (PhD) (SEED)”之类的名字。

显然它们都以“

import re

with open ("original_text.txt", "r") as myfile:
data = myfile.read()

aa = re.search(""<span style="cursor:pointer" onmousedown="", data)

我该如何挑选它们? (我也尝试过使用BeautifulSoup,但没有真正成功)。

<小时/>

用户 Aaron 在下面提交。我发现它非常接近我所需要的。

但是它只返回 5 "span style="cursor:pointer"onmousedown=""。我还需要做什么?

for m in re.finditer('<span style="cursor:pointer" onmousedown="',data, re.IGNORECASE | re.MULTILINE):
print m.group(0)

最佳答案

永远不要使用regex来解析htmlxml文件,你可以简单地使用相关模块,如lxml或诸如 beautifulsoup 之类的东西:

>>> from lxml.html import fromstring
>>> s="""<span style="cursor:pointer" onmousedown="HI466('1056').click()">Steffen Eddine (PhD) (SEED)</span></span></div><script>HI466("100256").checked=T</script><div id=“k62” style="left:95px;top:15px;width:32;height:25;"><span id="321" name="021"><span style="cursor:pointer" onmousedown="HI466('2321').click()">Petra Schmidt (PESC)</span></span></div><script>HI466("239021").checked=T</script><div id=“k62” style="left:65px;top:15px;width:32;height:25;"><span id="306" name="366"><span style="cursor:pointer" onmousedown="HI466('2366').click()">Peter Kumar (PEKU)</span></span></div><script>HI466("230866").checked=T</script><div id=“k62” style="left:25px;top:35px;width:32;height:25;"><span id="425" name="511"><span style="cursor:pointer" onmousedown="HI466('2421').click()">Raksha Khaldoun (RAKH)</span></span></div><script>HI466("242511").checked=T</script><div id=“k62” style="left:95px;top:35px;width:32;height:25;"><span id="176" name="146"><span style="cursor:pointer" onmousedown="HI466('2176').click()">Yash Chevalier (YACH)</span>"""
>>> st=fromstring(s)
>>> [c.text for c in st.getchildren() if c.text]
['Steffen Eddine (PhD) (SEED)', 'HI466("100256").checked=T', 'HI466("239021").checked=T', 'HI466("230866").checked=T', 'HI466("242511").checked=T']

这里您可以使用lxml提取文本,然后根据需要修改结果以获得正确的结果!

关于Python 使用正则表达式从 Html 中选取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29205966/

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