[DEPRECATED] Simple, flexible, delightful web crawler/spider package
APACHE-2.0 License
其实这个框架用起来还不错,只是我暂时没有更多兴趣来维护它
NodeSpider 是基于 Nodejs 的新一代爬虫框架。
npm:
npm install nodespider --save
yarn:
yarn add nodespider
const { Spider, jqPlan, csvPipe } = require("nodespider")
const s = new Spider()
// 声明一个数据管道
s.pipe(csvPipe({
name: "data",
path: "./data.csv",
items: ["url", "count"],
}))
// 声明一个爬取计划
s.plan(jqPlan({
name: "extract",
toUtf8: true, // 自动转码为 utf8
retries: 3, // 失败自动重试
handle: ($, current) => {
const title = $("title").text() // 你想要的 jq 选择器
console.log(title)
s.save("data", {
count: $("body").text().length,
url: current.url,
}) // 使用管道保存数据
s.addU("extract", $("a").urls()) // 添加新任务
},
}))
s.add("extract", "https://github.com/Bin-Huang/NodeSpider") // 添加新任务
当前版本几乎是 0.9 的重构,不管是 api 还设计理念,大部分均已改变。如果你的项目依赖 0.9.x 版本,这里保留了 0.9.3 版本文档
Issuse
Pull Request
,尤其是: