首页 > 其他分享 >批量手机号归属地查询

批量手机号归属地查询

时间:2024-08-03 21:28:14浏览次数:16  
标签:str 手机号 批量 查询 num result file import txt

因为买不起归属地查询接口,于是自己爬了一个网站

在爬取网站时有许多曲折,大部分网站都做了反爬,于是发现一个网站没做反爬,但爬取的是图片形式(属实666)

我直接想到识别图片来获取文字,返回的形式是(省+市+通讯运营商)

首先得下载paddle的各种库,其次在文件中添加一个result.txt文件

代码开始运行后先删除result.txt中全部内容

然后再通过判断目标省份是否在图片获取的文字中,如果是则在result.txt中写识别正确入手机号

不说了直接上代码

代码如下:

import requests
import time
import os
from PIL import Image
from paddleocr import PaddleOCR
from lxml import etree

with open('result.txt', 'w') as file:
    file.truncate()
a = input('目标归属:')

def Imgscr(tel_num):
    url = 'https://www.haoma123.com/dh/114.aspx?w=' + str(tel_num)
    r = requests.get(url)
    r.encoding = 'utf-8'
    num = r.text
    num1 = etree.HTML(num)
    num2 = num1.xpath('//*[@id="span_gsd"]/img/@src')
    for num3 in num2:
        url1 = 'https://www.haoma123.com' + num3
    return url1

def download_image(url, save_path):
    response = requests.get(url)
    if response.status_code == 200:
        with open(save_path, 'wb') as file:
            file.write(response.content)

def Image_recognition(img_name):
    ocr = PaddleOCR(use_angle_cls=True, use_gpu=False)
    result = ocr.ocr(img_name, cls=True)
    for t in result[0]:
        t1 = (t[1][0])
    b = a in t1
    os.remove(img_name)
        if str(b) == 'True':
            with open('result.txt','a',encoding='utf-8') as file:
                file.write(str(phone_num) + '\n')
            print('True')

for i in range(18888888888,19999999999):
    download_image((Imgscr(i)),str(i)+'.jpg')
    Image_recognition(str(i)+'.jpg')

 使用的识别库是百度的飞桨,十分精准但就是有点太慢

第一个函数是爬取网站获取图片网址,第二个函数是保存图片,第三个函数是识别图片并判断

以上就是全部内容,感兴趣的可以继续升级改进

该文章全由本人原创,感谢支持

标签:str,手机号,批量,查询,num,result,file,import,txt
From: https://blog.csdn.net/hhaacckkeerr/article/details/140896425

相关文章

  • QT6,数据库批量添加数据方法
    //批量插入数据//odbc风格,预处理语句,其中?相当于占位符query.prepare("insertintostudent(name,age,score)values(?,?,?)");//将字段内容添加到指定list中QVariantListnamelist;namelist<<"zhao"<<"qian"<<"sun&quo......
  • chapter6------段间批量数据传送与循环
    跳过非指令的数据区一般来说,所有处理器指令都应当按顺序存放,在它们中间不允许夹杂非指令的普通数据,因为他们不能作为指令执行,所以要想办法让处理器执行不到这些非指令的内容,比如jmp指令等在数据声明中使用字面值chardb'L',0x07\'a',0x07编译阶段会将这些......
  • 如何增强LangChain和FAISS多查询检索的相关性
    我正在为一个专注于冥想和灵性的项目开发一个使用LangChain和FAISS的多查询检索系统。我当前的设置涉及生成用户查询的变体以改进文档检索。但是,我遇到一个问题,即检索到的文档通常与查询主题无关。对于嵌入,我使用“经济嵌入文本”模型。我已将335本PDF书籍嵌入到......
  • 数据库学习3-增删改表中的数据、查询表中的字段
    DML,DQL一、DML:增删改表中的数据1.添加数据:2.删除数据:3.修改数据二、DQL:查询表中的字段1.语法2.基础查询1.多个字段的查询2.去除重复3.计算列4.起别名3.条件查询where4.其他1.排序查询2.聚合函数:将一列数据作为一个整体,进行纵向的计算。3.分组查询4.分页查询上......
  • 谷粒商城实战笔记-115-全文检索-ElasticSearch-进阶-bool复合查询
    文章目录1,must2,mustnot3,should1,must{"query":{"bool":{"must":[{"match":{"gender":"M"}},{"matc......
  • 如何通过MultiIndex查询MultiIndex并选择“最佳”行?
    假设我有一个MultiIndexbyMultiIndexDataFrame类似于这里生成的:importpandasaspddata_frame_rows=pd.MultiIndex.from_arrays([[],[],[]],names=("car","engine","wheels"))data_frame_columns=pd.MultiIndex.fr......
  • 批量登录软件,聚合登录,同时支持:小红书,快手,B站,视频号,淘宝光合,公众号一键运营管理,降本增
    在数字化时代,我们常常需要管理多个在线账号,这不仅增加了管理的复杂性,还可能导致效率的降低。为了帮助用户简化这一过程,我们推出了六款功能强大的聚合登录软件,涵盖了小红书、快手、B站、视频号、公众号和淘宝等平台。每款软件都具备登录管理多个账号的功能,助力用户更加高效地管理社......
  • mysql数据库查询时用到的分页方法有哪些
     在处理数据库查询时,我们经常需要对结果进行分页,以便在用户界面上提供更好的浏览体验。MySQL提供了几种不同的方法来实现这一功能,其中最常见的是使用LIMIT子句。以下是三种使用LIMIT进行分页的基本方法。一、使用LIMIT子句LIMIT子句用于指定查询结果的最大记录数。它的基本语......
  • mybatis-plus 自定义sql拼接 的方式进行Wrapper条件查询 实现了分页 多表查询
    法一:用单表的思想(可以跳过,直接看法二)方法:先收集公共字段到集合中,再批量查询,然后封装起来缺点:相较于法二,代码量大,多访问了一次数据库service层:@Service@RequiredArgsConstructorpublicclassProductServiceImplextendsServiceImpl<ProductMapper,Product>implements......
  • Mysql 常用的性能查询 手段 策略
    1、mysql常用到的慢的查询手段:1.1、日志:binlog日志    慢查询日志     错误日志   errorlog    其他日志2、详细参考:    SHOWGLOBALSTATUSLIKE'%Slow_queries%';     常用系统命令:flushstatustmp_table_siz......