Scrape-It-Now 使用教程
1. 项目介绍
Scrape-It-Now 是一个基于 Python 开发的网络爬虫工具,旨在简化网页抓取过程并输出高质量的 Markdown 内容。它具备以下特点:
- 解耦的架构,支持 Azure Queue Storage 或本地 sqlite 存储。
- 支持幂等操作,可以在并行环境中运行。
- 抓取的内容可以存储在 Azure Blob Storage 或本地磁盘。
Scrape-It-Now 还提供了广告拦截、链接深度探索、Markdown 内容提取、动态 JavaScript 内容加载等多种功能。
2. 项目快速启动
首先,确保你的系统中安装了 Python 3.13 或更高版本。然后,你可以通过以下方式安装 Scrape-It-Now:
通过 PyPI 安装
pip3 install scrape-it-now
从源代码安装
- 克隆项目仓库:
git clone https://github.com/clemlesne/scrape-it-now.git
- 进入项目目录:
cd scrape-it-now
- 运行安装脚本:
make install dev
- 运行 CLI 查看帮助文档:
scrape-it-now --help
运行一个抓取任务
以下是一个使用 Azure Blob Storage 和 Azure Queue Storage 的示例:
- 配置 Azure 存储:
export AZURE_STORAGE_ACCESS_KEY=你的访问密钥
export AZURE_STORAGE_ACCOUNT_NAME=你的存储账户名
- 运行抓取任务:
scrape-it-now scrape run https://nytimes.com
如果你希望使用本地磁盘存储,可以设置以下环境变量:
export BLOB_PROVIDER=local_disk
export QUEUE_PROVIDER=local_disk
然后,以相同的方式运行抓取任务。
3. 应用案例和最佳实践
- 避免重复抓取:Scrape-It-Now 可以检测页面是否已更改,从而避免重复抓取。
- 广告拦截:通过集成 The Block List Project,可以降低网络成本。
- 链接深度探索:自动检测并去重链接,以深入探索页面内容。
- Markdown 内容提取:利用 Pandoc 从页面提取 Markdown 内容。
4. 典型生态项目
Scrape-It-Now 可以与 Azure AI Search 集成,创建自动的 AI 搜索索引,并支持将内容分块并嵌入 OpenAI 的向量空间中,实现语义搜索。此外,它还可以配合其他开源项目,如 Playwright 和 Chromium,以加载动态 JavaScript 内容。
通过以上教程,你可以开始使用 Scrape-It-Now 进行网页抓取,并根据具体需求进行定制化开发。