thepoy 发表于 2021-7-25 12:05

【Go】根据最近遇到的爬虫需求,想自己用 Go 写一个爬虫框架,有朋友感兴趣吗?

本帖最后由 thepoy 于 2021-7-25 12:07 编辑

自己能力和精力有限,希望能同有兴趣的朋友一起完成。
写这个框架,是因为 colly 框架代码写得太死板,失去了一个框架该有的灵活性。虽然也可以改改代码再用,但是改代码还不如从头写一个,所以就写了这个框架。
有参考过 colly 的代码。
现在代码只是初具雏形,尚未实现全部功能,缓存、数据库模块连接口还都没写完,go pool 也没有完成。
但现在的版本已经可以通过 sync.WaitGroup 创建多个 go 访问了,但在高并发时频繁地创建 goroutine 是对资源的浪费,而 go pool 的目的就是想实现 goroutine 的复用。
另外,框架的 http 请求是用 fasthttp 完成,而不是标准库 net/http 。
项目地址:(https://github.com/thep0y/predator)

ps: 请忽略项目介绍中的所谓“高性能”,当前这是在吹逼。

thepoy 发表于 2021-7-25 15:20

联盟少侠 发表于 2021-7-25 15:09
这种框架还是不要自己造车了,太难了!而且容易被淘汰!!辛辛苦苦几十年,一下回到解放前

主要是自己用的,基于自己的需求也不算造车了。
没有人一起的话,就是我自己有啥需求就加上去。
不然以后在爬虫时可能还会遇到一些别的框架解决不了的问题,又将是一阵头痛。

hahaxi 发表于 2021-7-26 21:58

本帖最后由 hahaxi 于 2021-7-26 22:00 编辑

colly确实超好用
之前爬图片大概就碰到两种一种page++的去找div img   还有ajax请求的解析json
都不麻烦   就没去弄通用的
而且自带缓存虽然好几次发现缓存比下载下来的文件还大

侃遍天下无二人 发表于 2021-7-25 13:04

原生库的效率相比Java也已经高了太多了,以前爬虫我都是拿Java写的,用了Go之后发现除了处理Json比较难受,别的地方都挺爽的

thepoy 发表于 2021-7-25 13:44

侃遍天下无二人 发表于 2021-7-25 13:04
原生库的效率相比Java也已经高了太多了,以前爬虫我都是拿Java写的,用了Go之后发现除了处理Json比较难受, ...

我有在考虑,用第三方json库做一个json扩展。原生json库确实不太适合做爬虫。

侃遍天下无二人 发表于 2021-7-25 13:48

thepoy 发表于 2021-7-25 13:44
我有在考虑,用第三方json库做一个json扩展。原生json库确实不太适合做爬虫。

改simplejson?要是能明确声明取出来的数据类型是JsonObject还是JsonArray,并且取完以后得到的还是Json就好了

sjx111 发表于 2021-7-25 13:52

好像有点难技术不够,哎

艾莉希雅 发表于 2021-7-25 14:05

json最近在用gjson

thepoy 发表于 2021-7-25 14:06

艾莉希雅 发表于 2021-7-25 14:05
json最近在用gjson

我想的就是用 gjson 在框架内写一个 json 扩展,gjson 非常适合在爬虫中使用

thepoy 发表于 2021-7-25 14:09

侃遍天下无二人 发表于 2021-7-25 13:48
改simplejson?要是能明确声明取出来的数据类型是JsonObject还是JsonArray,并且取完以后得到的还是Json ...

没了解过 simplejson,主要用 gjson

侃遍天下无二人 发表于 2021-7-25 14:41

thepoy 发表于 2021-7-25 14:09
没了解过 simplejson,主要用 gjson

这个不是谷歌给安卓内置的json解析器吗

thepoy 发表于 2021-7-25 15:05

侃遍天下无二人 发表于 2021-7-25 14:41
这个不是谷歌给安卓内置的json解析器吗

你说的是java吧?跟 Go 好像没什么关系
页: [1] 2 3
查看完整版本: 【Go】根据最近遇到的爬虫需求,想自己用 Go 写一个爬虫框架,有朋友感兴趣吗?