2019年分享过一次手机号码归属地对应表,当时是41万多行,今天升级了下 phone
库,又跑了一下脚本,已经达到44万多行了,这里再分享出来,需要的自取,获取方式见文末。代码如下:
# -*- coding: utf-8 -*-
"""
author: 数据科学探究
task: 获取手机号码归属地
version:2021-06-27
"""
import phone
import pandas as pd
phone_list = []
# 修改range即可得到对应号码段的手机号码归属地
for i in range(1300001, 1999999):
try:
info = phone.Phone().find(str(i))
# print(info.values())
phone_list.append(info.values())
# 如果出错,退出本次循环
continue
except(RuntimeError, TypeError, NameError, AttributeError):
# 出错后,直接跳过,不做任何处理
pass
df = pd.DataFrame(phone_list, columns=['手机号段', '省份', '地市', '邮编', '区号', '运营商'])
# 文件包含中文,将文件编码设置为gbk
print(df)
df.to_csv('phone_list_v2021.csv', encoding='gbk', quoting=2, quotechar="'")
# 设置文本标识符为 ''
print(df.count())
# 统计手机号码归属地表格的行数
本次主要是更新了 phone
手机号码归属库,再输出 csv
时,添加了文本标识符的设置,如果不设置的话,双击打开文本文件时,文本 0518
会被自动转换成数字 518
。