项目介绍:scrapeghost
scrapeghost
是一个用于网站数据抓取的实验性库,其独特之处在于它利用了 OpenAI 的 GPT 技术。这个库的目标是为用户提供一个便捷的界面,通过 GPT 模型进行网页抓取。尽管大部分工作是由 GPT 模型完成的,scrapeghost
提供了一些特性来简化这项任务的使用。
功能特色
Python定义的数据结构
scrapeghost
使用户可以使用 Python 对象来定义所需提取数据的结构。用户可以根据需要,对数据结构进行详细或简略的定义。
预处理功能
- HTML 清理:通过移除不必要的 HTML 来减少 API 请求的大小和成本。
- CSS 和 XPath 选择器:用户可以通过编写单一 CSS 或 XPath 选择器来预先筛选 HTML。
- 自动拆分:可以选择将 HTML 拆分为多个调用,以便对较大的页面进行处理。
后处理功能
- JSON 验证:确保响应是有效的 JSON。如果不是,可以返回给 GPT 进行修复。
- 模式验证:进一步验证使用
pydantic
模式确保响应符合预期结构。 - 幻觉检查:确认响应中的数据在页面上真实存在。
成本控制
scrapeghost
还提供了一些成本控制选项:
- 在爬取过程中保存发送和接收的令牌总数,以便跟踪成本。
- 支持自动回退机制,例如默认使用更经济的 GPT-3.5-Turbo,需要时回退至 GPT-4。
- 允许设置预算,超过预算时自动停止抓取操作。
注意事项
该库调用 GPT 模型会产生相当高的费用,例如在中等大小的页面上调用 GPT-4 的费用为 $0.36。费用估算基于 OpenAI 定价页面,并不保证完全准确。因此,用户在使用时需要自行承担风险。
总之,scrapeghost
是一个创新的工具,通过将先进的 GPT 技术应用于网页抓取任务,为用户提供了一种新颖且有效的方法来挖掘互联网数据。