2020年2月

无意间找到一个python 的微信库,授权后可以实现微信机器人
试用发现原理是模拟web版微信。可惜2019-7月微信已经砍掉了web版,所以这整个库已经作古。

君生我未生我生君已老

有那味了..

上篇已经解决了如何大批量查询号码归属地的问题。
此时已经把一批号码资料导出成了csv(部分数据由于录入并不规范,所以存在不少无效错误的数据需要在入库和查询归属地接口前加工处理)
以下需要注意的若干点的备忘:

  1. 处理csv要去掉换行符及包裹数据的双引号;
  2. 文本编码,建议统一处理为utf-8;
  3. 多个csv 遍历建议处理完后移动或标记文件,避免遇错中断时无法分辨哪些数据已经处理;
  4. phone调用返回结果可能为None(归属地库无匹配);
  5. 手机号码合法性检查(长度、组成);
  6. 客户端或用户录入可能会自动在手机号码间插入字符“ ”或“-”, 例如 138-0013-8000;


- 阅读剩余部分 -

需要一个精确到城市且保持更新的归属地库,以下收集了一些,纯备忘不推荐

线上接口

免费接口(淘宝)

https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13922121234

返回

__GetZoneResult_ = {
    mts:'1392212',
    province:'广东',
    catName:'中国移动',
    telString:'13922121234',
    areaVid:'30517',
    ispVid:'3236139',
    carrier:'广东移动'
}

缺点:只精确到省份和运营商

付费接口(NOWAPI)

https://www.nowapi.com/api/phone.get

免费版每小时 200次请求频率限制,
缺点:收费,不支持批量

其他还有很多类似的接口没有继续再试下去,被贫穷勒住了命运的咽喉的我..决定换个思路

下载归属地库

果不其然这思路也不是什么蓝海处女地,搜索之下已经被各路数据商人开发过了,一个一个“2020最新归属地库”待价而沽

中间浪费的时间略... 兜转许久又回到python门前。 找到了 phone库

https://github.com/ls0f/phone

安装

pip install phone

代码

from phone import Phone
p = Phone()
res = p.find('13922121234')

print(res)
print(res["city"])

输出

{'phone_type': '移动', 'city': '广州', 'phone': '13922121234', 'area_code': '020', 'province': '广东', 'zip_code': '510000'}
广州
进程已结束,退出代码 0

虽然数据库不是非常的新(2018.10) 够用而且可以本地跑,爱怎么批量或高并发都没关系,性能没有后顾之忧了。

*有点跑题,不改了

不说不能说的,仅备忘网上能搜到的教程的一些遗漏点。

网站 https://cloud.google.com/

创建主机

路径 Compute Engine -> VM实例

一、配置 SSH客户端访问(SecureCRT为例)

1.本地创建公钥

在secure上创建公钥,选rsa openssh格式(或普通格式再转换也行),需要对key加密,记住密码

2. 谷歌云上添加秘钥

Compute Engine -> 元数据 -> SSH秘钥 中添加秘钥。格式为

ssh-rsa <value of key> <username>

3. 配置SecureCRT

ssh2 用 上一步的 username 登录,按提示输入第1步的公钥密码。

二、ubuntu 获得 root身份

ssh登录上后

sudo su -

三、防火墙规则 VPC

*安全起见建议不要端口全开应按照自己的服务需求设置,下面这个范例只是我偷懒

控制台上搜搜 VPC

VPC网络 -> 防火墙规则 -> 创建防火墙规则

  • 名称随意
  • IP地址范围 0.0.0.0/0
  • 优先级 1
  • 目标 网络中的所有实例(免配置), 或 指定的目标标记 命名后,后续配置 VM实例 选中添加该规则
  • 方向 入站
  • 执行操作 允许

四、挑选最优网络

貌似这个应该先说。创建VM实例选台湾或香港机房,随机分配获得的 IP 先不要使用,从本地ping 其IP,选延时丢包少的使用。
如数值不理想删掉 VM实例即可。不扣费。