Golang Go语言中模仿pyspider的phantomjs_fetcher模块实现

前几天玩儿了一下 pyspider ,发现里面集成了 phantomjs ,而 go 语言好像还没有这样的开源项目,于是就自己写了一个玩玩儿,^__^
链接: https://github.com/nladuo/go-phantomjs-fetcher
模仿百度搜索github:
mock_baidu_search


Golang Go语言中模仿pyspider的phantomjs_fetcher模块实现
7 回复

其实我正想往 splash 迁。。

更多关于Golang Go语言中模仿pyspider的phantomjs_fetcher模块实现的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


大神你是要弃坑吗

换个 render backend

scala 大法好

原作者居然来了,,

哎呦~支持作者!赞的,但是发布到的生产环境也不一定有$GOPATH 吧,所以 phantomjs_fetcher.js 写在$GOPATH 有点怪,

在Go语言中模仿PySpider的phantomjs_fetcher模块,虽然Go本身不直接支持PhantomJS这种无头浏览器,但你可以使用其他库来实现类似的功能。

一个常见的选择是使用colly框架结合cdp(Chrome DevTools Protocol)库,或者rod库来控制无头Chrome浏览器。这些库允许你模拟浏览器行为,包括页面渲染、执行JavaScript、处理DOM等。

  1. colly + cdp

    • colly是一个快速且可扩展的爬虫框架。
    • cdp允许你通过Chrome DevTools Protocol与Chrome浏览器通信。
    • 你可以使用cdp来启动和控制无头Chrome,执行页面抓取和JavaScript操作。
  2. rod

    • rod是一个高级的CDP控制库,它提供了更直观和简洁的API来操作Chrome。
    • 使用rod,你可以轻松实现页面导航、元素查找、事件触发等功能。

在实现时,你需要:

  • 安装并配置无头Chrome浏览器。
  • 使用Go语言编写代码,通过cdprod库与Chrome进行通信。
  • 实现页面抓取逻辑,包括处理HTTP请求、解析HTML、执行JavaScript等。

请注意,由于Chrome DevTools Protocol的复杂性和不断更新,使用这些库可能需要一定的学习和调试时间。但一旦掌握,你将能够构建功能强大的无头浏览器爬虫,以模拟人类用户的浏览行为。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!