📜  从网站 python 中抓取电话号码(1)

📅  最后修改于: 2023-12-03 15:22:02.228000             🧑  作者: Mango

从网站 python 中抓取电话号码

在某些特定的场景下,我们需要从网页中抓取特定的电话号码。下面将介绍如何使用 Python 程序来实现该功能。

1. 使用 requests 库访问网页

首先,我们需要使用 Python 的 requests 库来访问目标网页。我们可以使用以下代码来实现:

import requests

url = "https://www.example.com"
response = requests.get(url)

其中,url 为目标网页的链接,response 为访问该网页后得到的响应对象。可以通过打印 response.text 来查看响应的内容。

2. 使用正则表达式匹配电话号码

接下来,我们需要使用正则表达式来从网页中匹配电话号码。以中国手机号为例,其格式为 11 位纯数字,可以使用以下正则表达式进行匹配:

import re

pattern = re.compile(r'1[3-9]\d{9}')
phone_numbers = pattern.findall(response.text)

其中,pattern 是定义的匹配模式,findall 函数可以找到所有与该正则表达式匹配的字符串。我们可以将匹配到的电话号码存储在 phone_numbers 列表中。

3. 完整代码示例

下面是一个完整的代码示例,可以从指定网页中抓取所有的电话号码:

import requests
import re

url = "https://www.example.com"
response = requests.get(url)

pattern = re.compile(r'1[3-9]\d{9}')
phone_numbers = pattern.findall(response.text)

for phone_number in phone_numbers:
    print(phone_number)

该代码将获取 https://www.example.com 中所有的中国手机号,并将其按顺序输出。

参考文献:

[1] Python 官方文档:https://docs.python.org/zh-cn/3.9/library/re.html

[2] requests 官方文档:https://docs.python-requests.org/en/master/