golang的一个简单小爬虫demo学习记录
之前学的是python,但是遇到瓶颈了,所以想先拓宽一下知识面。技术是学不完的,在这资本恒流的时代,两三年就能将一门语言炒到火热,所以还是要坚守本心,先生存再生活。
1.新建一个项目文件,创建一个main.go文件
2.遇到代码中import报红的部分,解决方法如下
(1)打开终端或cmd, 进入到你创建的项目的路径(例如我创建的项目文件夹是test)
(2)go mod init test(test就是你创建的文件夹的名称)
(3)go mod tidy
(4)如果还有其他报错请自行搜索
package mainimport ("fmt""github.com/PuerkitoBio/goquery""log""net/http"
)
func main() {authors_url := "https://so.gushiwen.cn/authors/"res, err := http.Get(authors_url) // 请求一个网站if err != nil{ //如果err不是nil,则说明请求发生了错误panic(err)}defer res.Body.Close() // 请求完之后关闭请求窗口if res.StatusCode != 200{ // 如果状态码不为200,则说明请求网页失败log.Fatal("status code error: %d %s", res.StatusCode, res.Status)}// 调用NewDocumentFromReader传入上面的io.Reader构造一个*goquery.Document对象;document, err := goquery.NewDocumentFromReader(res.Body)if err != nil{fmt.Errorf("document eror", err)}// Find(".sons") 其中.表示classdocument.Find(".sons").Find(".cont").Find("a").Each(func(i int, selection *goquery.Selection) {author := selection.Text()link, _ := selection.Attr("href") //获取href的值fmt.Printf("%d author=%s\n", i, author)fmt.Printf("%d link=%s\n", i, link)})
}
golang的一个简单小爬虫demo学习记录相关推荐
- c c 语言编程项目实例,实例分享cmake编译一个简单c++项目(demo)
实例分享cmake编译一个简单c++项目(demo) 发布时间:2020-09-19 21:08:04 来源:脚本之家 阅读:63 作者:mdxy-dxy 下面通过一个小例子来说明cmake编译一个c ...
- 网络爬虫笔记 :一个简单的爬虫框架
学了两节课的 Python 爬虫,也算是入门了吧.敲了两天的案例代码之后,我突然发现,这些代码虽然功能不同,写法各异,但是终归是有章可循的,整体框架是一致的.所以我自己整理了一个简单的爬虫框架,适合初 ...
- python爬虫入门教程(二):开始一个简单的爬虫
2019/10/28更新 使用Python3,而不再是Python2 转载请注明出处:https://blog.csdn.net/aaronjny/article/details/77945329 爬 ...
- 入坑爬虫(二)编写第一个python小爬虫
准备工作 编程语言: python3(本人用的是3.6版本) IDE(集成开发环境): 萌新推荐使用pycharm或python自带的IDLE. 操作系统: Windows(考虑到多数小伙伴都是win ...
- $python爬虫系列(1)——一个简单的爬虫实例
本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片. 1. 概述 本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片.下载图片的步骤如下: 获取网页html文本内容: 分析html ...
- 一个简单的例子,学习自定义注解和AOP
转载自 一个简单的例子,学习自定义注解和AOP 记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了. 1 ...
- python的简单程序代码_小白学编程?从一个简单的程序开始学习Python编程
笔者思虑再三还是决定选择图文(因为百家的视频发布画质真不怎么样[囧]). 笔者学习编程的时间也挺长的,因为业余,因为时间不多,各种原因,自学编程的路特别难走.然后笔者发现,自己能为小白贡献一些力量,然 ...
- php简单的购物车,利用PHP实现一个简单购物车的demo示例代码
利用PHP实现一个简单购物车的demo示例代码 数据结构跟关于PHP写购物车大体差不多,这里站长主要就购物车的主要业务逻辑进行一下说明: 1.用户未登陆时只能浏览商品,不能将其加入购物车 2.当未登陆 ...
- 四句话让你学会一个简单的爬虫【python】
首先我们先导入request库,这样才能调用requests里面的函数 os库是为了存放我们爬过来的文件 import requests import os 如何四句话实现一个简单的爬虫 pic = ...
最新文章
- 【old】mapX距离工具源码,delphi7+mapx5.0
- 谈谈常用清除浮动的方法
- 【已解决】“The import java.sql.Connection conflicts with a type defined in the same file“
- exchange 删除邮件
- 公司培训文档-JavaScript[对象.属性]集锦
- hdu-1176(dp)
- Java 对 lang3中Complex类的封装,使之支持BigDecimal
- react: code-split
- python安装pika模块rabbitmq
- [cnblogs镜像]苹果操作系统名称演变史 新名称macOS
- 扫描技术的原理与应用(Nmap使用)
- 计算机不能关机处理方法,电脑不能关机怎么回事 电脑不能关机处理方法讲解...
- jsp的include标签
- FrameGraph Extensible Rendering Architecture in Frostbite
- 调用wireshark(二):调用协议解析器
- 腾讯IM登陆时候闪退java.lang.UnsatisfiedLinkError
- 营销活动的业绩,在开始之前你就应该预见到了…
- 拿下东风!从家居到汽车,DuerOS为中国AI探索出一种智能新生态
- 背景透明css样式,CSS 背景(background)+背景透明(CSS3)
- [HR面试] 65个最常见的面试问题
热门文章
- boost::metaparse::debug_parsing_error相关用法的测试程序
- boost::hana::overload_linearly用法的测试程序
- boost::filesystem::path的用法测试程序
- boost::core模块实现分配const void指针
- Boost:使用OpenCV在图像或相机框架上应用sobel过滤器
- ITK:多相Chan和Vese稀疏场水平集分割
- ITK:创建另一个图像实例
- VTK:Texture之TexturedSphere
- VTK:Points之PointOccupancy
- java recv failed,jmeter压测报错Unrecognized Windows Sockets error: 0: recv failed