目录
Python爬虫笔记
一、爬虫简介
1、爬虫是什么?
爬虫:一段自动抓取互联网信息的程序。
如图:
如图所示,爬虫就是从互联网中的一个URL出发,访问它所能达到的所有URL,并且获取到需要的价值数据;
2、爬虫的技术价值
价值:互联网数据,为我所用;
例如:
二、简单的爬虫架构
1、简单爬虫架构
如图:
在这个简单的爬虫框架中,我们可以看到三个主要的组成部分,其中URL管理器负责管理需要去访问的URL;网页下载器负责下载正在访问的页面的html数据;网页解析器负责解析html中的数据信息,同时将需要用到的URL传送给URL管理器;这样一来,三者形成了一个循环,这个循环可以帮助我们访问互联网。
2、简单爬虫的运行流程
三、爬虫架构分析
1、URL管理器
URL管理器:管理待抓取URL的集合和已抓取URL的集合;
这样做的目的是:
- 防止重复抓取、防止循环抓取
URL管理器的主要流程为:
- 在添加新的URL到待爬取集合中之前,判断待添加的URL是否在容器中;
- 在获取带爬取URL之前,判断是否还有待爬取URL;
- 在爬取到该URL之后,将该URL从待爬取移动到已爬取;
具体实现方式目前有三种方式:
这三种方式都是为了防止在存储URL时出现URL重复的错误;
2、网页下载器
网页下载器:将互联网上的URL对应的网页下载到本地的工具;(可以说网页下载器是爬虫的核心)
python支持的网页下载器有urllib2;
使用urllib2下载网页有三种方法:
第一种最为简洁:
第二种方法相比第一种,多了两个参数,分别是data和http header:
第三种方法相比于前两种方法,可以添加特殊场景的处理器;
3、网页解析器
网页解析器:从网页中提取出有价值数据的一种工具;
python中的网页解析器有以下几种:
- 模糊匹配:正则表达式
- 结构化解析:html.parser,Beautifer soup,lxml等