Python系列之-ins图片保存应用微信机器人开发

0x00 前言
很久没有写文章了 最近迷上了一款国外图片社交app: Instagram
可能有些人不知道这款app是没有办法保存照片的
看了很多美图可是却不能保存 所以干脆就写个脚本提取出来吧

0x01 思路
在ins任意一个帖子上点右上角的仨点就会弹出分享的方式
095640iva1gxg6vbgxv7d7.png

选择”复制网址”后的链接是这样的”https://instagram.com/p/BQe5OemhmjK/
用电脑访问一下
095643y277g7272xisxsxg.png
发现跳转到了www域下的对应uri
这时候F12分析一下看看图片是直接输出的还是需要获取的
095643bby08fmtmzf8ljfa.png
可以很直观看出图片是在一个property为og:image的meta标签里面的content里面
考虑了3种方式完成这一功能 web应用 微信机器人 和纯Python脚本
考虑到玩ins一般都是在手机上玩 所以提取照片的方式在手机上越方便越好
所以就选择了写成一个微信机器人


0x02 代码
本机器人依赖于wxBot框架 项目地址:https://github.com/liuwons/wxBot
wxBot有一个自带的函数handle_msg_all()用来处理每一条接收到的消息

首先在这个函数里面判断
是否为联系人消息
且是否为文本消息
如果都是的话再判断
是否为合法的ins分享链接
是的话返回对应www域的uri
代码:
095643frwdz8y1vdmsdprn.png
接着就下载对应的网页 用xpath解析出图片地址
图片地址的xpath为:’[//*[@property="og:image"]/@content’
代码:
095644k0o6t3ee0v3kk77u.png

接着就将图片的url传进下载函数里面 然后将MD5(imgSrc)当成用户名保存在本地
然后发送给用户
由于ins需要进行科学上网 所以这里发送的所有网络请求都用到了proxy
这里我用的ssr
095645bfafbfmpp2s80yhf.png

所以让python走ssr的通道去访问就ok了
完整代码见我的github : https://github.com/naiquann/insImgGetting

0x03 测试
运行脚本后需要先扫描二维码登录
095646f0cas03cspt6sccn.png
这里用小号登录大号测试
095646troqofqrcyjwo70w.png
发送消息后
095647xwpg4pzdw4ljlly3.png
成功返回照片

转载于:https://my.oschina.net/ichunqiu/blog/839728

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值