批量手机号归属地查询

  • 使用Python进行批量手机号归属地查询

使用Python进行批量手机号归属地查询

程序代码:

import requests
import re
import xlwt
import os
import sys# 从文件中获取手机号码列表
def get_phones(fileName):result = []with open(fileName, 'r') as f:line = f.readline()while line:line = f.readline()result.append(line.replace("\n", ""))return resultdef get_info(phone):res = []url = f"https://www.haoshudi.com/{phone}.htm"# 伪装自己headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'}# 发送请求resp = requests.get(url, headers=headers)resp.encoding = "UTF-8"s = resp.text.replace("\n", "")# 利用正则表达式筛选需要的内容obj = re.compile(r'<span>归属地</span>.*>(?P<province>.*?)</a>(?P<city>.*?)</span>.*<span>运营商</span>.*?<a .*?>(?P<phone_type>.*?)</a>')result = obj.finditer(s)res.append(phone)for item in result:res.append(item.group("province"))res.append(item.group("city"))res.append(item.group("phone_type"))return resdef write_xls(xls_file, list):wb = xlwt.Workbook(encoding='utf-8')# # 添加一个表ws = wb.add_sheet('output')ws.write(0, 0, label='号码')ws.write(0, 1, label='省份')ws.write(0, 2, label='城市')ws.write(0, 3, label='运营商')i = 1for item in list:ws.write(i, 0, label=item[0])if len(item) == 1:i = i + 1continuews.write(i, 1, label=item[1])ws.write(i, 2, label=item[2])ws.write(i, 3, label=item[3])i = i + 1wb.save(xls_file)if __name__ == '__main__':fileName = input("输入需要批量处理的文件(只允许txt文本,一行一个号码):")  # 输入文件if not os.path.lexists(fileName):print("该文件不存在!")sys.exit(0)result_file = input("输入输出文件名(结尾xls或xlsx结尾):")  # 输出文件phones = get_phones(fileName)  # 读入手机号码results = []  # 结果列表for item in phones:temp = get_info(item)print(temp)results.append(temp)print("查询完成!正在写入...")write_xls(result_file, results)  # 写入文件print("写入完成!")

经过尝试,其实是可以利用线程池进行加快速度处理,修改main中的

results = []  # 结果列表for item in phones:temp = get_info(item)print(temp)results.append(temp)print("查询完成!正在写入...")write_xls(result_file, results)  # 写入文件print("写入完成!")

 pool = mp.Pool(processes=2)res = pool.map(get_info, phones)print("查询完成!正在写入...")write_xls(result_file, res)  # 写入文件print("写入完成!")

注意:经过测试发现,一旦查询的次数太多了,查询的api可能会将你的ip给拦截,需要过段时间才能再次访问。
运行结果:

导出文件为excel文件

批量手机号归属地查询相关推荐

  1. 手机号归属地 mysql脚本_示例演示手机号归属地查询功能

    示例演示手机号归属地查询功能(调用webservice接口) 1,新建java项目,创建包 2,点击项目名称创建web service->web service client 3,选择JAX-W ...

  2. php 手机号归属地 dat,GitHub - china-qd/phonedata: 手机号码归属地信息库、手机号归属地查询 phone.dat 最后更新:2020年04月...

    手机号码归属地信息库.手机号归属地查询 这可能是github上能找到的最新最全的中国境内手机号归属地信息库 基于GO语言实现,使用二分查找法. 归属地信息库文件大小:4,040,893 字节 归属地信 ...

  3. java 手机号归属地查询

    根据手机号码查询归属地.运营商我们引用google的libphonenumber包,libphonenumber是用于解析.格式化.存储和校验电话号码的Java.C++或JavaScript类库. 依 ...

  4. 携号转网手机号归属地查询

    携号转网实时手机号归属地查询接口API,可以使用以下http地址免费测试(请求号码需更换): https://gw.qxt800.com/qxt_test?mobile=13972565391

  5. jQuery-链接api实现星座运势和手机号归属地查询

    连接api  做一个星座运势查询. <!DOCTYPE html> <html lang="en"> <head><meta charse ...

  6. 如何使用免费手机号归属地查询API快速获取手机号归属地,两种方法【源码可用】

    福利彩蛋:没有好玩的API接口?上百款免费接口等你来 一.通过手机号码归属地接口查询 根据手机号码(段),查询手机号码归属地信息,如省份 .城市.运营商 简单快捷,根据个人需求进行开发 接口请求流程: ...

  7. java手机号归属地查询

    java手机号归属地查询 Maven 依赖 代码实现: 测试结果: 官方项目地址:https://github.com/google/libphonenumber/tree/master/java/l ...

  8. yii2 跨域请求配置_手机号归属地查询 API 接口调用请求

    手机号归属地查询 API 接口在网上已经很多且大都封装成了 API 供别人调用.支持前台跨域请求,以GET方式提交即可.手机号归属地查询 API 接口可以查询手机的归属地详细信息,你可以选择调用本站的 ...

  9. 调用阿里API实现手机号归属地查询

    调用阿里API实现手机号归属地查询 1.作者介绍 2.号码归属地介绍 2.1 什么是手机号码归属地? 2.2 为什么需要手机号码归属地? 2.3 手机号码归属地查询对个人的运用 3.调用阿里API实现 ...

最新文章

  1. ssm 实现房屋租赁系统
  2. AlphaFold2成功秘诀:注意力机制取代卷积网络,预测准确性提升超30%
  3. mac os vmware 显卡驱动_【新机】华为Mate 40系列国行售价明天公布,饿了么可以买手机?| 干翻牙膏厂,AMD发布RX6000显卡...
  4. 判断单链表是否存在环
  5. GIAC | 大数据分析系统在游戏领域的迭代与实践
  6. 【linux】——linux ls命令参数及用法详解---linux显示目录内容命令
  7. pyqt5生成py的文件为什么是c 语言,如何使用PyQt5在python中创建文件对话框
  8. 创建模块化程序(一)
  9. 机器学习——支持向量机(SVM)
  10. Anaconda python版本降级
  11. CentOS装docker
  12. Java中的异常捕获
  13. 或许你一辈子都是个小人物
  14. 大数据处理需要用到的九种编程语言
  15. dw怎么在框架中加入网页_DW中制作框架网页.ppt
  16. 流量直升机-千牛插件功能列表
  17. mysql8.0.21官网安装步骤_MySQL8.0.21安装步骤及出现问题解决方案
  18. 苹果审核Metadata Rejected解决
  19. python小游戏课程设计报告_贪吃蛇游戏课程设计报告
  20. Elsevier 投稿各种状态总结

热门文章

  1. 美丽乡村建筑建设新农村规划设计农村改造调研报告城乡统筹规划(共2383份,15.50G)
  2. centos打显卡驱动命令_centos7系统,显卡驱动安装教程
  3. Pdp11 simh 虚拟机 运行 unix V6
  4. 计算机正确的录入指法教案,《文字录入教案》word版.doc
  5. OpenGL 笔记-1配置和常用宏
  6. 编写有效的测试用例及如何进行用例评审
  7. 苹果开发者账号可以创建多少测试证书_苹果开发者账号对应生成的证书都有哪些...
  8. 简述python在量化金融中应用_Python金融量化
  9. html边框直线代码,网页制作学习:实现细线边框的两种方法_html
  10. 免费售后——公司办公电脑配置单2500到4500档(包含显示器)