如何定制爬虫代码?
一般讨论
已完成

根据信息来源网站、app 或者发布平台通常需要采取不同的方式单独定制内容获取方式。

从特定渠道批量获取信息来源,有几种方式:

  1. APIs // 大部分网站只包含私有 API,不直接对外开放,部分 API 需要付费使用;
  2. HTML 页面 // 通过已渲染展示的页面内容进行关键信息提取,是比较常用的方式;
  3. OCR 内容识别 // 对于部分复杂页面,局部关键信息如商品价格可通过图像识别转换获取。

获取的方式也有多种,可以通过代码抓取,也可以通过可视化的浏览器扩展定制规则。下方参考链接中包含一些常用的工具。

下面以 chatbene.com 获取数据来源 producthunt.com(简称 PH) 的爬虫举例。

Chatbene 希望获得 PH 网站发布 AI 相关的产品列表,获得产品名称、简介、介绍说明、产品链接等信息;通过产品链接,还可以进一步获取更多关于产品的信息。

通过以上信息,通过 ChatGPT/OpenAI 语言模型快速整理生成一篇针对产品的介绍文章。PH 每天发布产品 100~200,包含 AI 相关产品在 30~50 个左右,如果仅通过人工整理需要花费很多时间。

查看 PH 网站,发现可以从首页,或者日期存档页面获取完整内容列表,通过特定 Tag 标签或分类页面,只可以获得一部分 AI 相关的产品;由于 PH 的内容排序机制,产品列表是按排名算法综合排序的,没有时间排序的选项,需要建立自己的数据库防止内容反复抓取,防止获取不到最新内容的情况;列表页面展示信息不够完整,需要从详情页中获取完整的产品描述和官网链接信息。

综合以上情况,可以通过浏览器扩展先从首页获取列表,然后依次打开详情页获取完整信息。通过查看 HTML 了结构,我觉得使用代码脚本的方式更加方便。

实现步骤如下:

  1. 获取所有最新产品链接(产品页面地址包含关键词 /posts/xxx);
  2. 将产品详情页下载到本地;
  3. 通过分析页面,提取全部关键信息(meta 信息也不要错过);
  4. 已抓取链接添加到数据库,防止重复下载和分析,从而实现类似「断点续传」的效果。

以上过程任务拆解后,将上下文发送给 ChatGPT 即可提供每个步骤需要的脚本代码,代码包内包含爬虫完整代码( PH-Bot.zip),可以自行参考实现。

更多参考:

Activities
xinzhi Changed status to
进行中
At
xinzhi Changed status to
已完成
At
Voters
Powered by FeedbackTrace