2018-05-28--爬虫第一天

一、什么是爬虫?

爬虫(spider):小脚本程序,从网站上采集要下载的资源-->完成资源的高速下载

            搜索引擎 采集数据的程序,在网络上搜索数据给搜索引擎使用

            百度---->关键词--->包含关键词的所有网页

爬虫采集和普通采集的区别和有点:

区别:爬虫采集是数据的定向采集,成本较高,数据可定制,较强的针对性

二、爬虫采集的分类:

        通用爬虫:一般用在搜索引擎中,针对所有数据进行广度采集【广度】搜索引擎作为爬虫,必须遵守民间组织约定的爬虫采集数据协议 ROBOT协议

        聚焦爬虫:也成为定向爬虫,针对目标数据进行定向的数据采集【深度】,在不违反法律的前提下可以可以针对任何数据进行采集

        技能要求:上手快,入门简单,对数据的分析要求高

        增量爬虫:需要实时对历史采集数据进行更新【历史数据发生了改变】

        累计爬虫:历史数据不会发生改变,一旦数据执行完成,数据就是固定的

三、python2和python3的区别

        编码:python2使用的是asii编码;python3使用的是uncode编码

        一个字符 ----两个字节---16位---表示英文

        两个字符---4个字节---32位---表示汉字

        python的主流版本有1x,2x,3,

        目前web市场主要使用3.x  【网站的开发--文本字符数据的加交互--配合二进制文件的处理,更多的会使用到的比较通用的 unicode字符】

        爬虫工作主要使用的是2.x【都是从网络上采集数据,采集的数据文本数据,二进制数据,为了更方便统一的进行数据的采集处理,使用python2操作更加灵活,支持的第三方模块也更多】

四、简单的开发流程

        第一行:声明编码格式,支持中文的utf-8:#utf-8

        第一步:

                创建目标地址  如:target_url=''www.baidu.com''

        第二步:

                设置请求头  headers={      请求头数据     }

        第三步;

                    构造请求对象  我们经常在爬取数据过程中会对请求对象做一定的设置进行伪装     如   resquest=urllib2.Resquest(target_url,headers=headers)   

                    构造操作对象(支持代理操作)                                                                 proxy_handler=urllib2.ProxyHandler({'http':'ip:post'})

                    得到opener对象  :

                                    proxy_opener=urllib2.build_opener(pro_handler)

        第四步:

                        发送请求  得到服务器数据   

                                    response = proxy_opener.open(request)

        第五步:

                        把文件写入到本地:

                        with open  ('文件名',’wb‘)  as  f:

                                        f.write (response.read())

你可能感兴趣的:(2018-05-28--爬虫第一天)