实现过程:使用python脚本模拟登陆淘宝,定时爬取未确认收货的商品信息,如发现商品物流更新,则微信推送最新物流
效果图:
实现过程
- 爬取模拟登陆淘宝需要的关键信息填入python脚本中并测试
- 在nodered宿主机上运行python脚本
一、爬取模拟登陆淘宝需要的关键信息填入python脚本中并测试
- 工具准备
- chrome浏览器
- python及第三方库文件
- 登陆数据采集
- 打开chrome浏览器,打开登陆页面,按 F12进入开发者工具
- ============
- ============
- 输入密码,点击登陆
-
-
情况一 :有展开更多信息按钮,按照图片步骤即可
-
情况二:没有展开更多信息按钮,使用搜索,获取ksts值,并将ksts值加到下方链接,再填入python相应位置。
https://i.taobao.com/my_taobao_api/logistics_info.json?_ksTS=
-
- ============
- 在pc上运行脚本,第一次运行效果如下
我使用到编辑器上sublime text3,运行环境配置不在此讨论,新手建议直接官网下载python3,使用python IDE来测试运行
二、在nodered里使用exec节点运行python脚本(文章结尾下载脚本)
- 运行环境(此处以我的环境为例)
- nodered(iobroker插件定制版,iobroker宿主机群晖docker)
- 节点exec
- 第三方库requests
- 安装pip
- 配置过程
-
将python脚本文件复制到/docker/iobroker文件夹下,如图
-
导入nodered流flows.json (4.0 KB)
-
先运行sys.py脚本查看python3路径,如图
这时候直接运行username_login.py会报错ModuleNotFound,因为脚本文件中用到了第三方库requests,所以必须先下载requests -
进入群晖套件中心安装python3
-
进入ssh进入群晖安装pip,我参考到上评论中到方法
SSH进入群晖不在此进行讨论 -
安装完pip,使用pip下载requests到指定路径。首先在终端中搜索文件夹:
root@Z-NAS:/# find . -name ‘dist-packages’
注意要在更路径(/#)下运行此命令,搜索过程较慢,请耐心等待。
内容很多,全部复制到记事本,搜索usr/local/lib/python3.7/dist-packages,会搜索到多个结果,进入这些文件夹查看,我最终找到到路径是root@Z-NAS:/# pip install requests --target ./volume1/……(你的路径)
安装完之后在进入这个文件夹会看到
7.再来运行python脚本,应该就可以得到结果,如果有错留言讨论。可以google和百度。
-
总结
- 在安装第三方库的时候踩来很多坑,开始总是找不到第三方库,以为nodered运行python和群晖运行python调用的库是在一样的路径下,事实证明并不是。
- 走完这一波操作以后可以很方便的使用python脚本来爬取其他的数据为自己所用。
- 淘宝这种模拟登陆方式不知道能使用多久,也许在不久的将来就不行来,且用且珍惜。
- 想要了解更多关于exec节点和其他节点的信息,建议去https://discourse.nodered.org/
python和flow下载:python_script.zip (7.8 KB)
参考资料
[1]原始脚本下载: https://github.com/pig6
[2]群晖pip安装: https://www.bilibili.com/read/cv1428431/ 中的评论