#web-scraping #web-page #css #css-selectors #extract #data #structured

nightly bin+lib scrapelect

scrapelect 解释器,一个受 CSS 启发的网络抓取 DSL

5 个版本

0.3.2 2024 年 8 月 7 日
0.3.1 2024 年 8 月 7 日
0.3.0 2024 年 8 月 6 日
0.2.1 2024 年 8 月 4 日
0.2.0 2024 年 8 月 4 日

Web 编程 中排名 1422

Download history 162/week @ 2024-07-30 317/week @ 2024-08-06

每月下载量 479

Apache-2.0 OR MIT

190KB
4.5K SLoC

JavaScript 2.5K SLoC // 0.2% comments Rust 2.5K SLoC // 0.0% comments

scrapelect

scrapelect 是一种受 CSS 启发的网络抓取语言,可以将网页转换为结构化的 JSON 数据。使用 CSS 选择器选择元素,对网页中的数据进行筛选以提取和修改,并得到结构化、机器可读、可互操作的输出格式。

安装

安装 Rust 工具链。使用 cargo,运行

$ cargo install scrapelect

以安装 scrapelect 解释器。

用法

scrapelect 程序写入 .scrp 文件。该语言的相关文档可以在 scrapelect 书籍 中找到。

快速示例,title.scrp,检索维基百科文章的标题

title: .mw-page-title-main {
  content: $element | text();
};

使用要抓取网页的 URL 运行 scrp

$ scrapelect title.scrp "https://en.wikipedia.org/wiki/Cat"

它将输出

{
  "title": {
    "content": "Cat"
  }
}

文档

  • scrapelect 书籍 包含语言概念和如何编写 scrapelect 程序的文档。
  • 此外,scrapelect 内置筛选器的文档位于 docs.rs
  • 开发者级别的文档也位于 docs.rs,但目前正在完善中。

社区

  • GitHub 问题讨论 是报告错误、请求功能和使用 scrapelect 获取帮助的好地方
  • 此外,考虑提交一个 拉取请求 以贡献代码或文档。
  • 请参阅 scrapelect 书籍的 贡献 章节以获取有关如何为 scrapelect 贡献的更多信息。

许可证

scrapelect 可在 MIT 或 Apache 2 许可证下使用,由您选择。这些许可证的副本包含在根目录的 LICENSE-MITLICENSE-APACHE 中。

scrapelect: 爬取 + 选择,也 -lect

依赖关系

~11–24MB
~358K SLoC