gpt4 book ai didi

python - 无法删除已抓取文本之间的空格

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:38 25 4
gpt4 key购买 nike

我用 python 编写了一个脚本,用于从一些 html 元素中抓取一些文本。脚本现在可以解析它了。然而,问题是结果看起来很奇怪,它们之间有一堆空格。我该如何修复它?任何帮助将不胜感激。

这是应该从中抓取文本的 html 元素:

html="""
<div class="postal-address">
<p>11525 23 AVE</p>


<p>EDMONTON,
AB
,
T6J 4T3
</p>

<p><a rel="nofollow" href="mailto:info@something.com">info@something.com</a></p>
<p><a rel="nofollow" href="http://www.something.org" target="_blank">Visit our Web Site</a></p>
</div>
"""

这是我正在尝试使用的脚本:

from lxml.html import fromstring

root = fromstring(html)
address = [item.text for item in root.cssselect(".postal-address p")]
print(address)

我得到的结果:

11525 23 AVE, EDMONTON,\n        AB\n        ,\n        T6J 4T3\n

预期结果:

11525 23 AVE EDMONTON, AB, T6J 4T3

我尝试在此行中应用 .strip().replace("\n","") [item.text for item in root.cssselect(".postal-address p")] 但它抛出了一个错误,显示none type object

顺便说一句,我不希望有任何与regex相关的解决方案。提前致谢。

最佳答案

尝试以下解决方案,如有任何问题请告诉我:

address = [" ".join(item.text.split()).replace(" ,", ",") for item in root.cssselect(".postal-address p") if item.text]

输出:

['11525 23 AVE', 'EDMONTON, AB, T6J 4T3']

关于python - 无法删除已抓取文本之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808831/

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