爬虫基础 2.3 爬虫基本原理
2.3 爬虫基本原理
2.3.1 爬虫概述
1 获取网页
使用请求库 urllib、 urllib2、request 请求库,向服务器发起数据请求,得到响应后,解析数据中的body部分可得到网页源代码。
2 提取信息
获取网页源代码后,分析源代码,提取信息
提取信息方式:
正则表达式匹配 (比较麻烦)
CSS、xpath 解析库提取 使用beautifulsoup、pyquery、lxml解析匹配数据
3 保存数据
提取到数据以后则进行规整化 保存数据
保存方式1 保存为txt文本、json文本
保存方式2 数据库保存
Mysql
Redis
Mongodb
4 自动化程序
即自动化不断地请求,解析。
在自动化的过程中包括异常处理,错误重试,防封,保存数据。
2.32 可抓取的数据
一般来看只要是网页中的数据都可以抓取到
常规HTML网页,抓取匹配源代码
Json字符串 api接口的数据抓取更加方便
二进制数据流 抓取后保存为对应格式文件
Css、javascript配置文件,同样抓取
只要是基于http/https 的协议的数据均可
2.3.4 JAVAscript渲染页面
Js渲染的页面中,在源代码的body部分使用的js加载,对于这种类型的则分析ajax后台接口,或者使用selenium splash模拟js的渲染来抓取。