美文网首页
python爬虫入门介绍

python爬虫入门介绍

作者: Pickupthesmokes | 来源:发表于2018-12-23 14:21 被阅读0次

    1.为什么要学习爬虫?

    我们所处的时代是一个大数据的时代:
    1.企业产生的数据:大型的公司有大量的用户,每天都会产生大量的数据,
      大公司会对数据进行统计和归类,中小型的公司也开始收集和整理数据
    百度指数,新浪指数,BAT腾讯浏览指数
    2.数据平台:通过各行各业业的数据汇总,会花费大量的人力物力去收集数据
    数据堂,贵阳数据平台

    3.政府/机构:是由个地方政府机关单位逐级的上报,最终由国家汇总
    中华人民共和国国家统计局数据

    4.数据管理咨询公司:通过大量的人力整理个各行各业的数据,会和其他公司合作
    和专家合作成圣大量的数据
    麦肯西
    挨森哲
    艾瑞咨询

    5.爬虫:如果以上的数据平台不能够满足我们的数据需求的时候,或者说数据数据的价格非常敖贵
        ,这是我们就可以通过爬虫去获取数据

    2.什么是爬虫?

    爬虫:网络爬虫机器人,从互联网自动抓取数据的程序

    理论上:通过浏览器看到的数据,我们一般都是可以获取到的

    3.爬虫有什么作用:

    1.搜索引擎
    2.商品比价(慧慧购物助手)
    3.知乎的数据分析平台(知乎专栏,数据冰山)

    4.如何去写一个爬虫???
    网页的三大特征:
    1.每一个网页都有一个唯一的url(统一资源定位符),来进行定位
    2.网页都是通过HTML(超文本)文本展示的
    3.所有的网页都是通过HTTP<超文本传输协议>(HTTPS)协议来传输的

    4.爬虫的流程:

    1.分析网站,得到目标url
       2.根据url,发起请求,获取页面的HTML源码
       3.从页面源码中提取数据
         a.提取到目标数据,做数据的赛选和持久化存储
         b.从页面中提取到新的url地址,继续执行第二部操作
       4.爬虫结束:所有的目标url都提取完毕,并且得到数据了,再也没有其他请求任务了,这是意味着爬虫结束

    5.爬虫需要掌握的基本知识
    第一阶段
    第二阶段
    第三阶段
    第四阶段

    6 并不是只有python能够写爬虫??

    PHP: 是用来写后端的,对于异步和多任务的处理不是太好,爬虫是一个工具性的程序,对效率要求比较高

    JAVA: 是python写爬虫的最大竞争对手,java语言生态系统比较完善,对各模块的支持也比较友好,
       但是java这门语言是比较笨重的,重构和迭代的成本比较高

    C/C++:同样可以写爬虫,语言比较晦涩,学习的门槛比较高,是一门片底层的语言,代码成型比较慢

    python:语法简单简洁,第三方的模块也比较丰富,关于爬虫的网络请求模块(urllib,requests)和
    网络解析模块(lxml,BeautifulSoup,pyQuery)也比较多,并且有从搞笑稳定的scrapy网络爬虫框架,
    以及scrapy_redis分布式爬虫框架,python也是一门胶水语言,对于其他语言的调用也比较方便

    ....

    7.爬虫的分类: 通用爬虫  聚焦爬虫
    通用爬虫:是搜索引擎的重要组成部分
    目的:竟可能的将所有的互联网上的网页下载到本地,经过预处理(去噪,分词,去广告),最终将数据存储
    到本地,做一个镜像备份,形成一个检索系统

    5.通用爬虫抓取网页的流程:

    1.选取一部分的url作为种子url,将这些url放入到带爬取的任务队列里面
    2.从带爬取的任务队列中取出url,发起请求,将获取到的网页源码存储到本地,
    并将已经爬取过的url,放入已爬取队列中
    3.从已爬取url的响应结果中,分析提取其他的url地址,继续添加到待爬取队列中
    ,之后就是不断的循环,直到所有的url都提取完毕
    

    6通用爬虫中种子url如何获取

    1.通过网站提交自己的网站地址(https://ziyuan.baidu.com/linksubmit/url
    2.搜索引擎会和DNS服务商合作,拿到最新的网站地址
    3.网站中包含的其他外链

    DNS服务:将我们的域转换为对应ip的一种技术

    通用爬虫的整体流程:数据的获取->预处理(分词,去噪,去广告...)->存储->提供检索接口|排名(网站排名)

    网站排名:
    1)根据用户的访问量,网站的流量越多,越靠前
    2)竞价排名:谁出价高,谁排在前面

    7通用爬虫的缺点:

     1)必须准守robot协议:就是一个规范,告诉搜索引擎,哪些目录下的资源允许爬虫,\
        哪些目录下的资源不允许爬取(https://www.taobao.com/robots.txt)
      'User-agent':该项值用来表示是哪家的搜索引擎
      'allow':允许被爬取的url
      'disllow':不允许被爬取的url
    2)搜索引擎返回的都是网页,并且返回的90%的都是无用的数据
    3) 不能够根据不同的用户的需求或者锁检索结果返回不同的结果
    4) 通用爬虫对于对媒体的文件不能够获取
    

    聚焦爬虫:聚焦爬虫是面向主题的爬虫,再爬取数据的过程中会对数据进行筛选
    往往只会爬虫与需求相关的数据

    相关文章

      网友评论

          本文标题:python爬虫入门介绍

          本文链接:https://www.haomeiwen.com/subject/ocknkqtx.html