Spider_days01
主要内容
爬虫概述:了解什么是爬虫
爬虫就是将网络中非结构数据转化问结构数据化的工具
通俗来讲:将网页数据存储到数据库的过程
爬虫的分类
分为通用爬虫和聚焦爬虫
通用爬虫:一般用在搜索引擎中,针对所有数据进行广泛采集
搜索引擎必须遵守爬虫采集数据的约定协议
民间组织约定的爬虫采集数据协议:ROBOT协议
聚焦爬虫:也称为定向爬虫,针对目标数据进行定向数据采集[深度]
关于历史数据的处理
分为增量爬虫和累积爬虫
增量爬虫:需要实时对历史采集数据进行更新[历史数据会发生变化]
累积爬虫:历史数据不会发生变化,一旦数据执行完成,数据就是固定的。
简单开发流程
第一行:生命编码格式,支持中文的# coding:utf-8
第一步:
创建目标地址:
如: target_url = ‘www.baidu.com’
第二步:
设置请求头:
如:headers = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36', }
第三步:
a.构造请求对象,我们经常在爬去数据过程中会对请求对象做一定的设置进行伪装
如:resquest=urllib2.Resquest(target_url,headers=headers)
b.构造操作对象(支持代理操作)
如:proxy_handler=urllib2.ProxyHandler({'http':'ip:post'})
c.得到opener对象
如:proxy_opener=urllib2.build_opener(proxy_handler)
第四步:
发送请求,得到服务器数据
response = proxy_opener.open(request)
第五步:
把文件写入本地
with open ('文件名',’wb‘) as f:
f.write (response.read())