Golang+chromedp+goquery 简单爬取动态数据

文章目录

  • Golang+chromedp+goquery 简单爬取动态数据
    • Golang的安装
      • 下载golang软件
      • 解压golang
      • 配置golang
      • 重新导入配置
    • chromedp框架的使用
      • 实际的代码编写
        • 开始编码
        • 如下是拓展和解释上述代码的内容
    • goquery第三方库的使用
      • 开始编码
      • 如下是关于goquery一些用法
    • 如何将自己的程序部署到阿里云服务器上
      • screen工具

Golang+chromedp+goquery 简单爬取动态数据

兵长:

胖sir,最近一段时间正在使用golang来进行开发项目,慢慢的对有了一些了解,突然有一天,我想用golang来实现爬取 站上的数据,例如,等等,发现这些 站的数据都是动态生成,苦恼呀,不知道如何才能把 站上的获取下来,为我所用呀,例如我抓取到动态数据之后发邮件给我哟

胖sir撩撩了自己的长发,温和的对兵长说,小伙子,做应用开发效率很快的,当然爬取 站上的数据也是不在话下的哟,动态的也有动态的方法,来我给你娓娓道来

Golang的安装

此步骤主要是为了照顾没有在上安装过golang的童鞋们,若自己做过安装过golang的童鞋可以直接跳过golang简单安装步骤

下载golang软件

解压golang

配置golang

  • 将go的二进制目录添加到环境变量

重新导入配置

chromedp框架的使用

是开源的,童鞋们可以放心食用,若是有想法,可以在上为此添砖加瓦,为开源做出自己的一份贡献

可以通过如下命令来进行下载

实际的代码编写

兵长,你想爬取的 站,我给你找一个例子,如爬取这个 站,我们将 站上每天都会更新的一句话爬取出来

  • 做为一个爬取 站动态数据的接口,主要功能是爬取生成的动态数据(当然静态数据更是不在话下)

  • 第一个参数 即为我们需要传入的要爬取的 站地址,页面如上

  • 第二个参数 即为我们爬取的数据对应的选, 通过谷歌浏览器进入 站,按 -> -> -> (目前看到的是通过动态生成数据后的)

    此字符串即为 函数的第二个参数

  • 第三个参数 我们暂时先写

  • 返回值 即为 爬取到的数据,是字符串格式的,内容是

  • 如下是拓展和解释上述代码的内容

    • 给 设置参数,设置为 ,无头模式即Chrome浏览器的无GUI的命令行版浏览器,但功能上和我们平常使用的chrome没有区别,若该参数不设置为,则在程序运行的时候,会拉取我们环境中的chrome浏览器,显示页面

    • 设置为不显示图片

    • 用于接收爬取的结果,是一个字符串格式,具体内容是

    • 是只以什么方式进行解析,这是一个回调函数,这个参数还可以填下面几个,按需索取

    • 关于涉及的接口如下给介绍几个

      名字 说明
      Navigate 进入某个页面
      Run 运行各类操作
      Screenshot 截屏
      Click 模拟鼠标点击
      WaitVisible 等候某元素出现
      ActionFunc 执行自定义函数
      SendKeys 模拟键盘输入

    兵长: 使用这个框架我得到的是一串的字符串,我也不会解析他呀,我要如何才能找到刚才在页面上看到的/p>

    胖sir:别担心,我一步一步给你说,直播教学呢,看好了, 现在我们已经完成了最核心的一步了,现在数据已经获取到了,咯,我给你介绍一个神奇,就可以解决下面这一串的解析问题了

    image-20210303232139506

    goquery第三方库的使用

    我之前写过一个小接口,可以给你看看,兵长

    也是开源的,童鞋们可以放心食用哦,通过如下命令在下载goquery第三方库

    开始编码

    • 第一个参数 就是 上面 爬取到的数据,是字符串,内容是

    • 第二个参数即是的选择器 ,对于这个 站,这个参数可以填 ,如

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年2月3日
    下一篇 2021年2月3日

    相关推荐