首先,我是编程新手,我的英语不是最好的。
我在Windows 10 Pro上使用Python 3.6。
经过一些反复试验后,我终于找到了如何通过lxml从网页中删除数据以及如何使用beautifulsoup和csv将其添加到Excel工作表中。
到目前为止,这对我有用。收集姓名,地址和距离列表非常容易。但当我试图提取电话号码和电子邮件时,我遇到了麻烦。经过一些研究后,我发现他们分开了电话号码并对它进行了编码。电子邮件也有点棘手。
我想从中提取数据的网页是: https://www.gelbeseiten.de/schluesselfertigbau/bergheim,,,,,umkreis-50000
我发现电话号码的第一部分就在这里:
<span class="nummer">(02271) 6 79</span>
他们隐藏在这里的其余部分:
<span class="suffix encode_me telSelector128028047679_2623072" data-telselector="telSelector128028047679_2623072" data-telsuffix="IDcw"> 70</span>
即使第一部分看起来很容易,我也不能使用lxml如何用于提取它。
所以我的问题是,如果初学者仍然可以提取这些电子邮件和电子邮件吗?
或者我应该尝试从打印的PDF文件中获取这些数字吗?
答案 0 :(得分:1)
尝试以下解决方案获取电话号码:
import requests
from lxml import html
source = html.fromstring(requests.get("https://www.gelbeseiten.de/schluesselfertigbau/bergheim,,,,,umkreis-50000").text)
phone_number = "".join([text_node for text_node in source.xpath('//li[@class="phone"]//text()') if text_node.strip()])
print(phone_number)
输出:
'(02271) 6 79 70'