Golang Go语言中模仿pyspider的phantomjs_fetcher模块实现
前几天玩儿了一下 pyspider ,发现里面集成了 phantomjs ,而 go 语言好像还没有这样的开源项目,于是就自己写了一个玩玩儿,^__^
链接: https://github.com/nladuo/go-phantomjs-fetcher
模仿百度搜索github:
Golang Go语言中模仿pyspider的phantomjs_fetcher模块实现
7 回复
大神你是要弃坑吗
换个 render backend
scala 大法好
原作者居然来了,,
哎呦~支持作者!赞的,但是发布到的生产环境也不一定有$GOPATH 吧,所以 phantomjs_fetcher.js 写在$GOPATH 有点怪,
在Go语言中模仿PySpider的phantomjs_fetcher
模块,虽然Go本身不直接支持PhantomJS这种无头浏览器,但你可以使用其他库来实现类似的功能。
一个常见的选择是使用colly
框架结合cdp
(Chrome DevTools Protocol)库,或者rod
库来控制无头Chrome浏览器。这些库允许你模拟浏览器行为,包括页面渲染、执行JavaScript、处理DOM等。
-
colly + cdp:
colly
是一个快速且可扩展的爬虫框架。cdp
允许你通过Chrome DevTools Protocol与Chrome浏览器通信。- 你可以使用
cdp
来启动和控制无头Chrome,执行页面抓取和JavaScript操作。
-
rod:
rod
是一个高级的CDP控制库,它提供了更直观和简洁的API来操作Chrome。- 使用
rod
,你可以轻松实现页面导航、元素查找、事件触发等功能。
在实现时,你需要:
- 安装并配置无头Chrome浏览器。
- 使用Go语言编写代码,通过
cdp
或rod
库与Chrome进行通信。 - 实现页面抓取逻辑,包括处理HTTP请求、解析HTML、执行JavaScript等。
请注意,由于Chrome DevTools Protocol的复杂性和不断更新,使用这些库可能需要一定的学习和调试时间。但一旦掌握,你将能够构建功能强大的无头浏览器爬虫,以模拟人类用户的浏览行为。