Golang 爬虫上手指南
- 清晰需要的内容
- 分析网页
- 获取网页信息
- 解析网页信息
- Chrome 浏览器审查元素,查看网页源代码
- json: 一般是调用的API,比较好分析,解析json 数据即可
- xml: 不常见
- html: 常见,使用正则表达式、CSS 选择器、XPATH 获取需要的内容
- Get : 常见,直接请求即可
- Post : 需要分析请求的参数,构造请求,向对方服务器端发送请求,再解析响应值
- Uer-Agent 头部信息
- 本地: text、json、csv
- 数据库: 关系型(postgres、MySQL), 非关系型(mongodb), 搜索引擎(elasticsearch)
- 请求
- 存储
- 代理: ip 池
- User-Agent: 模拟浏览器
- APP: APP 数据需要使用抓包工具:Mac(Charles)、Windows(Fiddler)(分析出Api)
- 分布式
- 大规模抓取
本教程讲述前8节 演示使用 Mac, IDE 选择的是 Goland
如何获取网页源代码
- 原生 net/http
- gorequest (基于原生的net/http 封装)
Web客户端请求方法
- Get 绝大多少数
- Post
Web服务端响应
- json
- html
Web服务端响应的处理方式
- json: 使用原生的json 序列化,或者使用 gjson (第三方)
- html: 正则表达式、 Css 选择器、Xpath
存储数据方式
- Text
- Json
- Csv
- db
前三种,涉及文件读写;最后者涉及数据库操作
展示方式
- 图表
最终目的
- 数据分析