爬虫简介
01、爬虫概念
- 网络爬虫(又称为网页蜘蛛,网络机器人),是一种按照一定的规则自动地抓取万维网信息的程序。
- 简单地说,就是编写程序,模拟浏览器发送请求,获取到和浏览器一模一样的数据。因此,我们能获取的是浏览器能够接收到的数据。
02、爬虫获取的数据的用途
- 呈现数据,呈现在 app 或者 网站上
- 进行数据分析,获得结论
03、爬虫的分类
- 通用爬虫:搜索引擎的爬虫
- 聚焦爬虫:针对特定网站的爬虫
04、聚焦爬虫的工作流程:
- 明确URL(请求的地址、明确爬什么)
- 发送请求,获取响应数据
- 保存响应数据,提取有用信息
- 处理数据(存储、使用)
05、爬虫开发的基本流程
构建、发送请求链接
获取服务器返回的响应数据
过滤、保存、使用得到的数据
关闭请求链接
06、爬虫爬取哪些数据*
咨询公司
- 特定领域的新闻数据的爬虫
金融公司
- 关于哥哥公司的动态的信息
酒店/旅游
- 去哪儿的酒店价格信息/机票,景点价格,其他旅游公司的价格信息
房地产、高铁
- 10大房地产楼盘门户网站,政府动态
强生保健医药
- 医疗数据价格
- 目前市场行情
07、双向爬取
- 横向爬取
- 爬取的网站页面中,以“页”为单位,找寻该网站分页器规律。一页一页的爬取网站数据信息。大多数网站,采用分页管理模式。针对这类网站,首先要确立横向爬取方法。
- 纵向爬取
- 在一个页面内,按不同的“条目”为单位。找寻各条目直接的规律。一条一条的爬取一个网页中的数据信息。也就是同时爬取一个页面内不同类别数据。
08、百度贴吧爬虫实现
- 提示用户指定 起始、终止页。创建DataCrawlerWorking()函数
- 使用start、end循环 爬取每一页数据
- 获取 每一页的URL——–下一页=前一页+50
- 封装、实现HttpGet()函数,爬取一个网页的数据内容,通过result返回。
- http.Get()
- Resp.Body.Close()
- For{Resp.Body.Read(buf)}
- …
- 创建文件 .html文件
- 将result写入文件
09、并发版百度爬虫
- 封装 爬取一个页面内容代码 到CrawlingSinglePage(index)函数中
- 在DataCrawlerWorking函数for循环 go程中调用CrawlingSinglePage(index) —>n个爬取页面,对应n个go程
- 为防止主go程提前结束,引入sync.Waitgroup
- 本文作者: 梁俊可
- 本文链接: http://ljk3d.com/2021/10/19/goLangNote/goLangAdvance/05_GoLang语言正式课_Go网络编程_爬虫开发_20180814_3年前录/
- 版权声明: 梁俊可工作室