爬虫
爬虫的错误认识
所谓的爬虫只是一段自动抓取所需要的信息的程序,所以爬虫不是只能使用python语音编写,也可以使用java、C语音等。
爬虫的简单架构
由于URL管理器不断的把URL传输给网页下载器,网页下载器又不断的传输字符串给网页解析器,网页解析器解析字符串,不断得到有价值的数据和新的URL,并将新的URL传给URL管理器,所以三者不断的循环,爬虫也就一直在工作了。
爬虫的运行流程
图片解析
第一步:调度器向URL管理器询问:“是否有带爬取的URL”
第二步:URL如果回答:”是”
第三步:调度器从URL管理器中,获取一个待爬取的URL
第四步:调度器把要下载的URL,发送给下载器
第五步:下载好后,下载器把URL的内容以字符串的格式,发送给调度器
第六步:调度器把下载后的URL内容,发送给解析器
第七步:解析器解析之后,把新的URL和有价值的内容返回给调度器
第八步:调度器把有价值的数据传输给应用,把新的URL传输给URL管理器
第九步:不断的循环,直到URL管理器中没有待爬取的URL为止。
URL管理器
作用
管理带抓取的URL和以抓取的URL
目的
防止重复抓取和循环抓取
功能
图解
主要有五大功能
1、添加新的URL到待爬取的集合中
2、判断待添加的URL是否在容器中
3、判断是否有等待爬取的URL
4、获取待爬取的爬虫
5、将URL从待爬取移动到已爬取
实现方式
1、内存:将要爬取的URL的集合和以爬取的URL的集合放置在python的set()中(因为set可以自动去除重复的元素)
2、关系数据库中
3、缓存数据库
网页下载器
作用
将互联网上对应的URL下载到本地的工具
网页解析器
作用
从网页中提取有价值的信息
爬虫制定流程
图解
第一步:确定目标
确定明白自己所要获取的资源
第二步:分析目标
做到三步走:
理论:
第一,明白网页的URL格式是什么;
第二,明白网页的数据格式是什么;
第三,明白网页的编码格式是什么;
具体:
目标:标题和简介
入口页:爬虫的第一个网页
URL格式:判断格式是否完整:如image/2902.htm;前面添加相应的网页的如http://www.baidu/XXX.htm;这样才是完整的。
数据格式:
标题:HTML格式
简介:HTML格式
页面编码:如UTF-8
第三步:编写代码
第四步:执行代码