网络垃圾电话号码

2024-09-29 07:31:40 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我是一个完全的编程新手,我的英语不是最好的。你知道吗

我在windows10pro上使用python3.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文件中去掉这些数字吗?你知道吗


Tags: csv数据网页data电子邮件编程错误电话号码
1条回答
网友
1楼 · 发布于 2024-09-29 07:31:40

请尝试以下解决方案以获取电话号码:

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'

相关问题 更多 >