『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 589|回复: 5

[技术探讨] 如何稳定爬取中国移动话费账单

[复制链接]

56

主题

929

帖子

4075

积分

论坛元老

Rank: 8Rank: 8

积分
4075
金钱
3146
HASS币
0
发表于 2024-8-16 12:04:25 | 显示全部楼层 |阅读模式
本帖最后由 bainiu 于 2024-8-17 09:44 编辑

    本坛里对水电燃气费爬取的帖子比较多,搜索移动话费爬取的感觉不多。

   尊敬的客户,您绑定共享的主卡号码139****1788已欠费停机,在此期间您无法共享主卡资源,将按照您本机号码标准资费收取。【中国移动】

     那么问题来了,爬取手机话费余额对部分人还是很有用的,如何抓取,目前我尝试了几种方法:

    一、入口


    1、网页中国移动官网登录查询。结果一堆堆加密字串,无法解出,已放弃。
    2、微信客户端桌面上公众号网页抓包,能爬到数据明文,但cookie有时间限制,没具体测试失效时间,好像30分钟左右吧。
    3、重点研究对象还是集中在网页端,目前感觉掌上营业厅有可能,登录稍微简单一点,网址:https://wap.XX.10086.cn/  XX就是各省的拼音,比如湖北https://wap.hb.10086.cn/ ,当然有些省份没有,但应该也会有其他各省的掌上登录入口。

    二、爬取


    掌上营业网址的入口第一次需要短信验证,如果后续可以凭服务密码登录就又少了一个技术门槛了。目前尝试的几种:
    1、用python selenium模拟登录网页,提取数据。困难:需要短信验证。
    2、用chrome automa插件自动登录网页,完全模拟人工登录,轻量,图形化,基本无代码。困难:短信验证。
    3、构建appium环境,用安卓模拟器登录中国移动APP 。目前未尝试。可以实现网页登录自动化。
    4、通过短信提取:手机上安装app 定时向运营商发送查询话费账单短信,收到短信后读取,再通过webhook 、mqtt、其他api发送 到HA服务器。苹果手机上有捷径 安卓手机有Tasker ,未尝试。
    5、通过话费查询api接口实现,这种最方便,只是好像没有免费的,目前查到的是0.1元/次。
    6、具体实现可能每个省入口不一样,不知道能否爬取。





回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2024-8-16 16:36:13 | 显示全部楼层
没想到这么麻烦....当初我考虑的时候就没考虑抓数据(猜测token过期啥的很难搞定)
我用的方式就是你说的4,有好几个月了吧 挺稳定
快捷指令每天定时发短信查询话费、流量
自动化检测收到短信的关键字,摘取有用数据,webhook到HA
NR里检测事件,创建传感器

缺点就是依赖手机,每天更新一次,自动化运行的时候手机会有两条提示无法去除,短信记录里大量的这种查询短信(倒也没啥影响)
有需要我发出来
回复

使用道具 举报

56

主题

929

帖子

4075

积分

论坛元老

Rank: 8Rank: 8

积分
4075
金钱
3146
HASS币
0
 楼主| 发表于 2024-8-17 09:44:57 | 显示全部楼层
ghostist 发表于 2024-8-16 16:36
没想到这么麻烦....当初我考虑的时候就没考虑抓数据(猜测token过期啥的很难搞定)
我用的方式就是你说的4 ...

期待大佬分享
回复

使用道具 举报

17

主题

187

帖子

1785

积分

金牌会员

Rank: 6Rank: 6

积分
1785
金钱
1598
HASS币
0
发表于 2024-9-6 15:21:09 | 显示全部楼层
ghostist 发表于 2024-8-16 16:36
没想到这么麻烦....当初我考虑的时候就没考虑抓数据(猜测token过期啥的很难搞定)
我用的方式就是你说的4 ...

请问定时发短信怎么实现的,安全吗?
回复

使用道具 举报

1

主题

29

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
金钱
226
HASS币
0
发表于 2024-9-6 16:38:31 | 显示全部楼层
用4最简单, 360的软件都是用4
回复

使用道具 举报

11

主题

304

帖子

1635

积分

金牌会员

Rank: 6Rank: 6

积分
1635
金钱
1331
HASS币
0
发表于 2024-9-6 16:57:51 | 显示全部楼层

苹果手机的话就用快捷指令。先建一个自动化,定时发送查询短信到10086;再建个自动化,当收到某某字样,收到来自10086的短信时,获取URL,然后POST等一系列操作,然后去到Node-Red里操作。哈哈,我说不下去了。还是私下沟通比较方便。和楼上说的一样。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 01:34 , Processed in 0.088735 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表