栗子
package main
import (
"encoding/json"
"fmt"
"github.com/zhshch2002/goribot"
)
func main() {
s := goribot.NewSpider()
_ = s.Get(nil, "https://httpbin.org/get?Goribot%20test=hello%20world", func(r *goribot.Response) {
m := make(map[string]interface{})
err := json.Unmarshal([]byte(r.Text), &m)
if err != nil {
fmt.Println(err)
}
fmt.Println(m)
})
s.Run()
}
长得和 Scrapy 有点像(逃
- Goroutine 原生支持并发
- 使用闭包函数实现蜘蛛处理逻辑
- 使用 Pipeline 插入生命周期钩子实现扩展
- 已经实现了部分常用 Pipeline 扩展
README.md 里有一个 bilibili 的完整例子,用了 Pipeline 和闭包的特性。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于