因为Python无需编译直接执行,所以可以成为脚本
脚本:简单的Python程序
程序:大一点的、复杂的Python脚本
爬虫:一种自动抓取互联网信息的程序爬虫的价值
基于爬取的数据进行分析,提取数据分析服务
爬虫网络架构
爬虫调度端:启动 运行 监控
1. URL管理器
2. 网页下载器
3. 网页解析器
运行流程
URL管理器
4. URL管理器:管理待抓取URL集合和已抓取URL集合
5. 防止重复抓取、防止循环抓取
步骤
新的URL添加到待爬取集合中
判断待添加URL是否在容器中
若为新的URL则添加到管理器中
获取一个待爬去的URL(先判断是否存在待爬去URL)
爬取完成后将待爬取移动到已爬取
-URL实现方式
1.内存(小型)
采用set()方式存储:set会自动去重2.关系数据库(个人实现永久存储)
MYSQL urls(url,is_crawled) #is_crawled表示是否已经爬取3.缓存数据库(高性能大项目)
redis 待爬取set 已爬去set网页下载器
将互联网上URL对应的网页下载到本地的工具
将网页以HTML形式存储到本地文件或内存字符串
1.utllib2
Python官方基础模块 cookie处理 代理处理2.request
Python第三方插件 更为强大utllib2
三种方法
1.最简单的方法urllib2.urlopen(url)
2.添加data、http header
url data header传送给urllib2.request类 以request类作为请求传递给urlopen
相比与1 ulr地址变为了request
3.添加特殊情景的处理器