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软件

  • 【国内网站】go语言中文网下载 go最新的安装包,根据不同的系统,可以选择
  • 【可以上外网的话】访问go语言英文网站

解压golang

配置golang

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

重新导入配置

chromedp框架的使用

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

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

实际的代码编写

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

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

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

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

    image-20210303230803415

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

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

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

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

  • 给 设置参数,设置为 ,无头模式即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日

相关推荐