网页搜索电话号码

问题描述 投票:2回答:1

首先,我是编程的新手,我的英语不是最好的。

我在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文件中获取这些数字?

python csv web-scraping beautifulsoup lxml
1个回答
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'
© www.soinside.com 2019 - 2024. All rights reserved.