我用python编写了一个脚本,从一些元素中获取电话号码和地址。问题是我分析电话号码的方式肯定很混乱。地址我也可以。然而,有没有更干净或更好的方法?你知道吗
嵌入数据的元素:
html_content='''
<div style="">
<strong>Pamela Banchy, Chief Information Officer</strong>
<br>Western Reserve Hospital<br>
<br>Lyndhurst, OH <br>
<a href="mailto:pbanchy@westernreservehospital.org">pbanchy@westernreservehospital.org</a>
<br>(330) 971-7456<br>
</div>
'''
我用来解析电话号码的表达式和脚本:
from lxml.html import fromstring
tree = fromstring(html_content)
phone = ' '.join([elem.text_content().strip().split()[-2] for elem in tree.cssselect("div")])
phone1 = ' '.join([elem.text_content().strip().split()[-1] for elem in tree.cssselect("div")])
print(phone+phone1)
结果:
(330)971-7456
顺便说一句,地址是Lyndhurst, OH
,电话号码是(330)971-7456
,我已经把它弄得乱七八糟了。你知道吗
另一种方法是:
你可以通过换行来分割你的文本,这样你就可以用最少的后处理来更方便地获取地址和电话号码。你知道吗
我认为更好的方法是使用xpath。
address, phone = tree.xpath('./div/br/text()')[-2:]
相关问题 更多 >
编程相关推荐