吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2042|回复: 20
收起左侧

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

[复制链接]
thepoy 发表于 2021-7-25 12:05
本帖最后由 thepoy 于 2021-7-25 12:07 编辑

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

我想的就是用 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 好像没什么关系
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表