初识爬虫,爬虫原理?爬虫是什么?为什么爬虫用python比较流行?

什么是爬虫?

  • 简单⼀句话就是代替⼈去模拟浏览器进⾏⽹⻚操作

    • 爬虫 (又叫蜘蛛、网络机器人),是一种按照一定规则,自动地抓取网络信息的程序或者脚本,
      • 它另外还有一些不常使用的名字:蚂蚁、自动索引、模拟程序、蠕虫。
        爬虫」(又叫蜘蛛、网络机器人),是一种按照一定规则,自动地抓取网络信息的程序或者脚本,

      • 它另外还有一些不常使用的名字:蚂蚁、自动索引、模拟程序、蠕虫。

      • 从本质上来说,「爬虫」就是利用自动化程序从网上获取我们需要的数据。

  • 我们常用的百度,就是一个很大的「爬虫」。

    • 你有没有想过为什么百度搜索会这么强大?

      • 这是因为百度会把各个网站的数据爬取下来,存储在自己的服务器上。

      • 而检索之后会得到一些超链接,点击各个超链接跳转,就可以访问其他网站了。
        爬虫就是利用自动化程序从网上获取我们需要的数据。

网络就像一张巨大的蜘蛛网,而爬虫则像这只蜘蛛一样在网络上收集需要的数据
初识爬虫,爬虫原理?爬虫是什么?为什么爬虫用python比较流行?

为什么需要爬虫?

为其他程序提供数据源 如搜索引擎(百度、Google等)、数据分析、⼤数据等 等

当今世界是大数据时代,每时每刻都有大量的数据在交互,那么数据从何而来,我们如何大量的获取批量数据?

–>使用爬虫

企业获取数据的⽅式?

  • 1.公司⾃有的数据
  • 2.第三⽅平台购买的数据 (百度指数、数据堂)
  • 3.爬⾍爬取的数据

为什么选择python

能做爬虫的当然不止一种语言,但是python却有着更好的理由去让我们选择python

Python 做爬⾍相较于其它语言的优势:
PHP : 对多线程、异步⽀持不太好
Java : 代码量⼤,代码笨重
C/C++ : 代码量⼤,难以编写
Python : ⽀持模块多、代码简介、开发效率⾼ (scrapy框架)
还有:

  • 易学习,作为一款初中生都在学的语言,python无疑更简单
  • 跨平台,对Linux和windows都有不错的支持。
  • 科学计算,数值拟合:Numpy,Scipy
  • 可视化:2d:Matplotlib(做图很漂亮), 3d: Mayavi2
  • 复杂网络:Networkx
  • 统计:与R语言接口:Rpy
  • 交互式终端

爬虫原理

爬虫在浏览器工作原理中,所做的事情,就是替代"人"和"浏览器"这个环节,模拟他们的操作对服务器进行请求。
基本工作流程:
发起请求 -> 获取返回内容 -> 解析返回的内容 -> 存储数据

爬虫分类

通⽤⽹络爬⾍

例如 baidu google yahu

聚焦⽹络爬⾍

根据既定的⽬标有选择的抓取某⼀特定主题内容

增量式⽹络爬⾍

指对下载⽹⻚采取增量式的更新和只爬⾏新产⽣的或者已经 发⽣变化的⽹⻚爬⾍

深层⽹络爬⾍:

指那些⼤部分内容不能通过静态链接获取的、隐藏在搜索表单 后的,只有⽤户提交⼀些关键词才能获得的web⻚⾯ 例如 ⽤户登录注册才能 访问的⻚⾯

robots协议

「爬虫」在某种情况下会给目标服务器造成很大的压力,甚至导致服务器崩溃。

因此部分服务器运行商,会想方设法防止「爬虫」访问自己的服务器。

这里就需要谈到【robots】协议!

【robots】协议是国际互联网界通行的道德规范,基于以下原则建立:

  • 1、搜索技术应服务于人类,同时尊重信息提供者的意愿,并维护其隐私权;

  • 2、网站有义务保护其使用者的个人信息和隐私不被侵犯。

简单来说,它告诉网络搜索引擎的漫游器(也就是我们的「爬虫」),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。
查看一个网站的【robots】协议只需要在该网站首页后添加【/robots.txt】就可以了。
初识爬虫,爬虫原理?爬虫是什么?为什么爬虫用python比较流行?
Allow:可以访问

Disallow:禁止访问

【robots】协议只是一个道德规范,并不是强制要求。