美文网首页
爬虫介绍

爬虫介绍

作者: qianxun0921 | 来源:发表于2018-12-23 16:40 被阅读0次

    一、为什么学习爬虫?

    处于大数据时代:

    企业产生的数据:

    大型的公司有大量的用户,每天都会产生大量的数据,

    大公司会对数据进行统计和归类,中小型公司也开始收集和整理数据

    百度指数、新浪指数、BAT腾讯浏览指数

    数据平台:

    通过各行各业的数据汇总,会花费大量的人力物力取收集数据

    数据堂、贵阳数据平台

    政府/机构:

    是由地方政府机关单位逐级的上报,最终由国家汇总

    中华人民共和国国家统计局数据

    数据管理咨询公司:

    通过大量的人力整理各行各业的数据,会和其他公司合作和专家合作呈现大量的数据

    麦肯锡 埃森哲 艾瑞咨询

    爬虫:

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

    什么是爬虫?

    爬虫:网络爬虫机器人,从互联网自动抓取数据的程序
    理论上:通过浏览器看到的数据,我们都能爬到

    爬虫的作用:

    • 搜索引擎
    • 商品比价(惠惠购物助手)
    • 知乎数据分析平台(知乎专栏、数据冰山)
    • 如何写一个爬虫?

    网页的三大特征:

    • 每一个网页都有一个唯一的URL(统一资源定位符),来进行定位
    • 网页都是通过HTML(超文本)文本展示的
    • 所有的网页都是通过HTTP(超文本传输协议)或HTTPS协议来传输的

    爬虫的流程:

    • 分析网站,得到目标URL
    • 根据URL,发起请求,获取页面的HTML源码
    • 从页面源码中提取数据:

    a、提取到目标数据,做数据的筛选和持久化存储
    b、从页面中提取到新的URL地址,继续执行第二步操作

    • 爬虫结束:所有的目标URL都提取完毕,并且得到数据了,再也没有其他请求任务了,这时候就看意味着爬虫结束了

    爬虫需要掌握的基本知识:

    四个阶段(印象笔记)

    并不是只有Python写爬虫:

    • PHP

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

    • Java

    是Python的竞争对手,Java语言生态系统比较完善,对各模块的支持也比较好,但是Java这门语言是比较笨重的,重构和迭代的成本比较高

    • C/C++

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

    • python

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

    爬虫的分类:

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

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

    通用爬虫中的种子URL如何获取

    1、通过网站提交自己的网站地址(https://ziyuan.baidu.com/linksubmit/url

    2、搜索引擎会和DNS服务商(DNS服务:将我们的域转换为对应IP的一种技术)合作,拿到最新的网站地址

    3、 网站中包含的其他外链

    通用爬虫的整体流程:

    数据的获取 -> 预处理(分词,去噪,去广告……)-> 存储 -> 提供检索接口|排名(网站排名)

    网站排名:

    1、根据用户的访问量,网站的流量越多,越靠前

    2、竞价排名:谁出价高,谁就排在前面

    通用爬虫的缺点:

    1、必须遵守robot协议

    就是一个规范,告诉搜索引擎,哪些目录下的资源允许爬取,哪些目录下的资源不允许爬取(https://www.taobao.com/robots.txt

    "User-agent":该项值用来表示是哪家的搜索引擎
    "allow":允许被爬取的URL
    "disllow":不允许被爬取的URL

    2、搜索引擎返回的都是网页,并且返回的90%的都是无用的数据
    3、不能够根据不同的用户的需求或者检索结果返回不同的结果
    4、通用爬虫对于媒体的文件不能够获取

    • 聚焦爬虫

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

    相关文章

      网友评论

          本文标题:爬虫介绍

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