基于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)

相关推荐
火山引擎开发者社区2 小时前
云数据库 MySQL 2025 运维革新:大版本升级无忧+蓝绿零停机+存储自动扩容全覆盖
运维·数据库·mysql
TTGGGFF2 小时前
实用代码工具:Python打造PDF选区OCR / 截图批量处理工具(支持手动/全自动模式)
python·pdf·ocr
杜子不疼.3 小时前
Spring AI 与向量数据库:构建企业级 RAG 智能问答系统
数据库·人工智能·spring
山峰哥3 小时前
Python爬虫实战:从零构建高效数据采集系统
开发语言·数据库·爬虫·python·性能优化·架构
_OP_CHEN4 小时前
【C++数据结构进阶】从B + 树 / B * 树到数据库索引:B树的进化之路与 MySQL 实战解析
数据结构·数据库·b树·mysql·innodb·b+树·mylsam
云老大TG:@yunlaoda36010 小时前
华为云国际站代理商TaurusDB的成本优化体现在哪些方面?
大数据·网络·数据库·华为云
TG:@yunlaoda360 云老大10 小时前
华为云国际站代理商GeminiDB的企业级高可用具体是如何实现的?
服务器·网络·数据库·华为云
Jay_Franklin10 小时前
SRIM通过python计算dap
开发语言·python
是一个Bug10 小时前
Java基础50道经典面试题(四)
java·windows·python