小红书笔记采集学习与测试记录
目前针对小红书笔记详情的采集,主要测试了三种实现方式:
第一种:Python + Web HTML 解析
通过 Python 直接获取笔记详情页面,再对返回的 Web HTML 进行解析,从中提取需要的数据。
目前测试发现,这种方式在本地环境运行正常,可以正常获取并解析所需数据;但部署到服务器环境后出现异常,虽然获取页面的过程基本正常,但 HTML 解析结果与本地存在差异,导致部分数据无法正常提取。
目前这个问题还在进一步排查中,暂时没有找到本地与服务器环境产生差异的具体原因。
第二种:更换语言及实现方式
在 Python 方案之外,又重新尝试使用 PHP 进行页面获取和数据解析,并调整了具体的解析方式。
目前 PHP 版本已经测试成功,在本地及服务器环境均可以正常解析出需要的数据。
现阶段来看,这种方案的稳定性相对较好,已经可以正常使用。不过具体为什么 Python 方案在服务器环境下出现差异,而 PHP 方案可以正常运行,目前原因还需要进一步分析。
第三种:通过接口直接获取
另外测试了直接调用接口获取笔记详情的方案。
经过实际测试发现,对于部分需要登录状态才能访问的数据,接口调用同样需要对应的登录信息。也就是说,这类情况下,无论是 Web 端还是 App 端,均需要具备相应的登录状态才能正常获取数据。
当前测试结果
目前三种方案的情况如下:
- Python + Web HTML 解析:本地可用,服务器环境存在问题,暂未彻底解决。
- PHP + Web HTML 解析:目前测试正常,服务器端已经可以正常使用。
- 接口直接获取:部分数据依赖登录状态,Web 端和 App 端均需要对应的登录信息。
目前已经有可正常运行的 PHP 方案,后续会继续对 Python 方案进行排查,同时进一步测试接口方案在不同登录状态下的数据获取情况。