Spider爬虫简介

2018-11-15  本文已影响0人  錦魚

为什么要做爬虫?

都说现在是"大数据时代",那数据从何而来?

企业产生的用户数据:

数据平台购买数据:

政府/机构公开的数据:

数据管理咨询公司:


  • 通俗的讲: 就是模拟 客户端发起网络请求接收请求的响应,按照一定的规则,自动的抓取互联网信息的程序。
  • 原则上只要浏览器能够做的事情,爬虫都能够实现

百度百科:网络爬虫介绍 https://baike.baidu.com/item/网络爬虫


爬虫的基本原理:
  • 我们可以将互联网比喻为一张大网,网络爬虫我们想象为网上的蜘蛛,网页与网页之间的联系我们理解为节点,爬虫就相当于是访问网页,获取网页的信息,又通过节点可以爬取另一个网站,然后不停的通过一个个节点即访问一个个网页,这样网站的数据就可以被我们获取下来了。

爬虫的用途

  • 搜索引擎
  • 咨询新闻网站
  • 购物助手(慧慧购物)
  • 数据分析与研究积累原始数据资源
  • 抢票软件等
关于Python爬虫,我们需要学习掌握的知识有:
  1. Python基础语法学习(基础知识)
  2. HTML 前端知识
  3. 数据提取的持久化(文本、数据库)
  4. 爬虫(Spider)、反爬虫(Anti-Spider)、反反爬虫(Anti-Anti-Spider)之间的斗争....(header请求头,)
  5. Scrapy框架以及scrapy-redis分布式策略(第三方框架)

PHP

  • 2014年左右最火的语言,不过多线程支持不好,不适合做爬虫

JAVA

  • 生态完善,支持第三方库多,但是代码量大,不利于维护重构。是Python最大的竞争对手

C/C++

  • 底层语言,仅次于编绘语言。运行效率很高,学习成本高,代码量超大(底层模块自己写)。

Python

  • 代码简介,语法优美,支持大量第三方模块,支持多任务,有成熟的spider框架。


爬虫的分类

  • 通用爬虫

  • 通用网络爬虫 是 捜索引擎抓取系统(Baidu、Google、Yahoo等)的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份 ,提取重要数据(做过滤,分词,去广告)。

通用搜索引擎(Search Engine)工作原理

  • 通用网络爬虫
  • 从互联网中搜集网页,采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。

流程

第一步:抓取网页 搜索引擎网络爬虫的基本工作流程如下:
  • 1.首先选取一部分的种子URL,将这些URL放入待抓取URL队列;
  • 2.取出待抓取URL,解析DNS得到主机的IP,并将URL对应的网页下载下来,存储进已下载网页库中,并且将这些URL放进已抓取URL队列。
  • 3.分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环....

搜索引擎的爬取url通过什么方式获得?

  • 通过网页外链
  • 通过链接提交
  • 各大搜索引擎公司与DNS服务商合作

Robots协议:(也叫爬虫协议、机器人协议等),全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎 哪些页面可以抓取,哪些页面不能抓取

缺点:
1,返回结果千篇一律,没有很好的针对性,不能对特殊的的用户群体返回对应的数据
2,需要遵循robot协议
3,搜索引擎通常获得文本,图像音频有困难


聚焦爬虫

根据需求产生,
只抓取与需求相关的数据。
我们更多会实现聚焦爬虫。


上一篇下一篇

猜你喜欢

热点阅读