python爬虫基础

1.爬虫定义

爬虫(spider):是用脚本代替浏览器请求服务器获取服务器资源的程序。

 

2.爬虫的作用

(1)数据的收集(小说,图片)

(2)数据对比(比价网站,数据分析)

(3)模拟操作(功能、压力测试、接口操作)

 

3.爬虫的流程

3.1 需求

分析业务需求、分析出你需要的数据、数据量、周期

3.1.1 需求拆解

拆分需求点

比如:Python最常见的拆分方法

(1)确定爬取资源的地址 小说网站

(2)构建爬虫请求

(3)发送爬虫请求

(4)接收返回内容  html

(5)对内容进行过滤 html当中匹配小说正文

(6)批量/周期爬取

 

3.2 建模

根据需求,创建数据库,用数据库表、表字段、表关联来描述业务之间的联系

 

3.3 分析

3.3.1 分析爬取的路径

3.3.1.1 url统一资源定位符

url:统一资源定位符,资源在服务器上的位置

 

3.3.1.2 header请求的描述

(1)user-agent:请求的身份(浏览器的版本和信息)

(2)referer:请求的来源

(3)cookie:身份校验

 

3.3.1.3 Data请求携带的数据

(1)form:表单数据,注册,登录,评论,

(2)file:文件上传下载

(3)proxy:代理服务器

 

3.3.1.4 response响应部分

(1)常见响应码

200 请求成功

304 页面跳转

404 请求不成功

403 没有权限

500 服务器错误

 

(2)响应内容的处理

Text/html:可以用文件操作查看

Application/json:可以用json模块解封装

Image/jpg:下载保存

 

(3)响应数据的处理

①过滤:Re、Xpath、Beautifulsoup

②数据:排序、筛选、计数、截取

③数据的保存:保存到文件、数据库、邮箱

 

3.3.2 分析html结构

3.3.2.1 Iframe标签

python爬虫基础

 

3.3.2.2 From表单请求

Method 提交方式,默认get

Action 提交路径,默认当前值

python爬虫基础

 

3.3.3 分析数据传输

js加密

ajax渲染

 

4.爬虫的基本工具

4.1 浏览器自带的f12

常用的3个面板

4.1.1 Elements(元素)

返回HTML的源码,但是如果有后端渲染,或者前端js渲染的话,返回的是渲染之后的,这个也是js反爬成功的一点

python爬虫基础

 

4.1.2 Console(调试面板)

负责代码的调试,网页前端注入,从console开始,我们可以在console当中写js代码

python爬虫基础

4.1.3 Network(网络)

记录了访问当前url所有的http包,所谓的抓包分析,就在这里,这里每一条代表一个请求包

python爬虫基础

 

5.简单爬虫案例

5.1 环境

Win7

Python3.5.0

模块:urllib

 python爬虫基础

5.2代码 

python爬虫基础

5.3结果 

python爬虫基础

5.4浏览器打开链接 

python爬虫基础