美文网首页
爬虫简介

爬虫简介

作者: 小袋鼠cf | 来源:发表于2018-12-18 14:11 被阅读0次

    爬虫:

    网络爬虫机器人,以互联网自由抓取数据的程序

    爬虫的作用:

    • 搜索引擎
    • 商品比价
    • 知乎的数据分析平台

    如何写一个爬虫?

    网页的三大特征:

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

    爬虫的流程:

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

    可以写爬虫的语言:

    PHP

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

    JAVA

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

    C/C++

    语言较难,代码成型比较慢

    Python

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

    爬虫分类:

    通用爬虫 聚焦爬虫

    通用爬虫

    是搜索引擎的重要组成部分

    目的

    尽可能的将所有互联网上的网页下载到本地,经过预处理(去噪,分词,去广告),最终将数据储存到本地,做一个镜像备份形成一个检索系统

    通用爬虫抓取网络流程:

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

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

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

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

    通用爬虫的整体流程:

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

    网站排名:
    1.根据用户的访问量(越多越靠前)
    2.竞价排名

    通用爬虫的缺点:

    1.必须遵守robot协议:就是一个规范,告诉搜索引擎,哪些目录下的资源允许爬虫,哪些目录下的资源不允许爬虫
    "user-agent":这项值用来表示是哪家的搜索引擎
    "allow":允许被爬取的url
    "disallow":不允许被爬取的url
    2.搜索引擎返回的都是网页,并且返回的90%都是无用的信息
    3.不能够根据不同用户的需求返回不同的结果
    4.通用爬虫对于多媒体的文件不能够获取

    聚焦爬虫

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

    windows下安装虚拟环境

    https://www.jianshu.com/p/a22cfdcc2558

    相关文章

      网友评论

          本文标题:爬虫简介

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