基于Appium爬虫文本导出可话个人动态

可话动态导出文本步骤

本文动态导出工具和详细步骤见如下链接https://gitee.com/QH010/kehua_activity/,如果对你有帮助的话,可以去作者的gitee仓库点一个免费的star支持一下作者吗~?

首先十分感谢不再有梦的小骑士分享的聊天记录导出方法,详见如下链接https://gitee.com/alicebob142857/kehua/ 本文分享也借用了佬链接中的adb部分

佬的思路是将手机本地的聊天记录数据备份到电脑上,再进行数据处理得到对应的聊天记录即可,根据佬的方法还可以导出其它存储在本地的内容比如共鸣和遇见,佬写得非常详细这里不再赘述 由于可话官方说了会有动态导出功能,佬也没给动态导出方法,但是自从12.15日功能上线后本人就提交了申请,却迟迟等不到短信通知,12.31就正式停服了,本人很慌,就想根据佬的思路,从本地数据库找到个人动态的数据保存下来,先通过DB Browser for 解析STideSwing.db文件,找到t_comment_activities是个人动态的数据,但发现这里只有2023年前的动态,可话的动态只有早期部分是存储在本地,之后存储在云端上(12.25修改,动态其实存在t_reference_activity,佬给出了动态导出方法)

后来参考核桃的思路,通过Appium控制手机爬虫的方法实现动态文本的导出 (ps:本人小白,原理不太懂,代码全靠ai,动态只能导出文字,并且过程较为复杂,没有编程基础不建议参考,为确保稳定导出速度约为5min80条,有什么问题可以直接找我)

1.环境准备

这里可以沿用前面聊天记录导出时paltform-tools中的adb.exe等,就不需要下载SDK,只需要装JDK17,Node.js和Appium即可,安装教程已放在文件下,大家自取

2.环境配置好后

连接手机,同导出聊天记录时一致, a. 将下载的压缩包解压后: Windows: 进入解压后的platform-tools文件夹,点击文件夹上方的地址栏(写着C:\Users之类的路径),输入cmd,打开命令行; Mac: 打开"终端"应用,输入cd (cd后面有个空格),然后把解压的platform-tools文件夹拖进终端窗口并回车。 b. 在手机上开启"USB调试"模式: 打开手机的"设置"->"关于手机"(也就是显示手机信息的页面)。连续快速点击"版本号"7-10次,直到屏幕提示"您现在处于开发者模式!"。"设置"中搜索"开发人员选项",在其中打开 "USB调试" 的开关。用数据线连接手机和电脑。不要使用华为手机助手连接,将"允许HiSuite通过HDB连接设备"关掉("设置"搜索HDB)。 c. 在命令行/终端中输入adb devices (如果不行的话输入./adb devices,后面的命令同理)并回车,手机屏幕上会弹出"允许USB调试吗?",并显示一大串字符(你电脑的RSA密钥指纹)。勾选"一律允许",然后点击"确定"。再次在电脑上执行adb devices,如果看到一串序列号,说明连接成功。 注意这串序列号即为你的设备号,复制到第三步。

3.改脚本设置

用记事本打开run.py,把DEVICE_NAME = 'xxx'里的xxx替换为设备号

4.开始导出

a. 启动服务器: 打开CMD输入appium,看到welcome to appium即成功,最小化到后台 b. 手机设置, usb调试开启,允许usb安装开启,关闭禁止权限监控,关闭监控ADB安装应用,开启仅充电模式允许ADB调试 c. 开始抓取, 首先确保appium命令窗口存在,打开run.py所在文件夹,地址栏输入cmd回车,命令行输入python run.py d. 第一次会运行提醒安装两个软件 Appium Setting和UIAuomator2 Sever需要无视风险继续安装,注意手机设置,第一次报错是正常的,运行完后检查手机应用管理是否有这两个软件,如果有了再运行即可,注意这两个软件手动是打不开的,是Appium自动控制的 e. 再次运行没有提醒安装软件 可以发现手机自动开启了Appium Setting(会闪一下又回到桌面),这时手动打开可话,点击第一个动态进入动态卡片模式,命令行会提示是否提取到了内容并且手机会自动右划寻找下一个动态,此时只需等待即可

5.数据清洗

如果出现了异常操作,比如自动滑动时不小心回到了桌面或者点进了其它软件也不必担心,只需重新回到可话的动态卡片即可,后续运行 clean_data.py会得到清理后的文件cleaned_dynamics.json

6.可视化网页

a. 记事本打开cleaned_dynamics.json文件,control+A全选并复制所有内容, b. 右键记事本打开kehua_memory.html文件 c. 找到代码中写着 const rawData = [ 的位置(大约在第 150 行左右)。 d. 删除 中括号里原本的示例数据,粘贴 你刚刚复制的 JSON 内容。 e. 保存文件,双击打开 kehua_memory.html即可呈现动态效果。 再次感谢 不再有梦的小骑士 分享~ 如果存在问题,可以尝试把问题问ai,Gemini豆包都行,都能给出来比较妥帖的解决办法。 最后感叹一句,搞出来自己也是挺牛逼的(bushi)

相关推荐
10年前端老司机4 小时前
Milvus 8种检索能力实践
数据库·python·agent
Decay__4 小时前
14_MySQL 高可用与容灾架构 —— MGR / InnoDB Cluster / Keepalived+VIP / 双主 / 读写分离 / 两地三中心
运维·数据库·sql·mysql·架构
freejackman4 小时前
【实战三】撕开脱敏盲区:深度解析 CASE WHEN 与窗口函数血缘
大数据·数据库·sql
Sakura_j_h_4 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
大草原的小灰灰5 小时前
LLM应用的标准开发框架LangChain(八)- 中间件
python·中间件·langchain
卷无止境5 小时前
百万 token 时代的真相:主流大模型上下文窗口与最大输出的横向对比分析
人工智能·python
用户298698530145 小时前
Python 实战:将 HTML 批量转换为 Markdown
python·html·markdown
hhcgchpspk5 小时前
flask服务端页面预防被爬措施
后端·python·flask·网络爬虫·防爬
小小张说故事5 小时前
Python 里 copy.copy() 和 deepcopy() 到底差在哪:拆开 __copy__、__deepcopy__ 和那个防止无限递归的 memo 字典
python
vipxieliang6 小时前
Python collections:高效容器与实战案例
后端·python