爬虫知识零基础到入门-概述&请求及响应(一)

爬虫是什么

网络爬虫(Crawler)又称网络蜘蛛,或者网络机器人(Robots). 它是一种按照一定的规则, 自
动地抓取万维网信息的程序或者脚本。换句话来说,它可以根据网页的链接地址自动获取网页 内容。如果把互联网比做一个大蜘蛛网,它里面有许许多多的网页,网络蜘蛛可以获取所有网页 的内容。

爬虫是一个模拟人类请求网站行为, 并批量下载网站资源的一种程序或自动化脚本。

爬虫可以做什么

  1. 搜索引擎
  2. 采集金融数据
  3. 采集商品数据
  4. 采集竞争对手的客户数据
  5. 采集行业相关数据,进行数据分析6. 刷流量

理论上只要是互联网上的数据是肉眼可见的,那么就可以使用爬虫技术做采集。

为什么用Python爬虫

  1. PHP:PHP是世界是最好的语言!!但他天生不是做这个的,而且对多线程、异步支持不是很好,
    并发处理能力弱。爬虫是工具性程序,对速度和效率要求比较高。据说目前PHP改善了效率,但是
    社区环境这一块还是赶不上Python。
  2. Java:生态圈很完善,是Python爬虫最大的竞争对手。但是Java语言本身很笨重,代码量很大。
    重构成本比较高,任何修改会导致代码大量改动。爬虫经常要修改采集代码。毕竟人生苦
    短。。。。
  3. C/C++:运行效率是无敌的。但是学习和开发成本高。写个小爬虫程序可能要大半天时间。一句话
    总结,为什么不用C++来开发爬虫程序,因为那是要头发掉光的,那是要死人的。
  4. Python:语法优美、代码简洁、开发效率高、支持的模块多。相关的HTTP请求模块和HTML解析
    模块非常丰富。还有Scrapy和Scrapy-redis框架让我们开发爬虫变得异常简单。而且有非常丰富的
    资源,另外Python也支持异步,对异步的网络编程也非常友好。以后的方向是异步网络编程,非
    常适合爬虫程序!!

爬虫的分类

通用爬虫

通用网络爬虫是捜索引擎抓取系统(Baidu、Google、Sogou等)的一个重要组成部分。主要目的
是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。为搜索引擎提供搜索支持。

搜索引擎工作原理:

在这里插入图片描述

第一步:抓取网页

搜索引擎去成千上万个网站抓取数据。

第二步:数据存储

搜索引擎通过爬虫爬取到的网页,将数据存入原始页面数据库(也就是文档库)。其中的页面数据与用户浏览器得到的HTML是完全一样的。

第三步:提供检索,网站排名

搜索引擎将爬虫抓取回来的页面,进行各种步骤的预处理:中文分词,消除噪音,索引处理。
搜索引擎在对信息进行组织和处理后,为用户提供关键字检索服务,将用户检索相关的信息展示给用
户。展示的时候会进行排名。

搜索引擎的局限性:
  1. 搜索引擎抓取的是整个网页,不是具体详细的信息。
  2. 搜索引擎无法提供针对具体某个客户需求的搜索结果。

聚焦爬虫

针对通用爬虫的这些情况,聚焦爬虫技术得以广泛使用。聚焦爬虫,是"面向特定主题需求"的一种
网络爬虫程序,它与通用搜索引擎爬虫的区别在于: 聚焦爬虫在实施网页抓取时会对内容进行处理筛
选,尽量保证只抓取与需求相关的网页数据。

使用 python 编写一个爬虫爬取百度网址

请求与响应

在进行爬虫数据采集的过程中,往往是通过一个链接地址向服务器模拟发送请求,从而得到此地址
在服务器中的数据。这个地址会遵循互联网数据传输协议:

协议

  1. 协议,意思是共同计议,协商,经过谈判、协商而定制的共同承认、共同遵守的文件。
  2. 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连
    接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

爬虫业务场景中最常见就是 http 协议

HTTP/HTTPS 协议

  1. HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收HTML页面的 方法。
  2. HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在 HTTP下加入SSL层。
HTTP/HTTPS的优缺点

在这里插入图片描述
HTTP 的缺点:

  1. 通信使用明文(不加密),内容可能会被窃听
  2. 不验证通信方的身份,因此有可能遭遇伪装
  3. 无法证明报文的完整性,所以有可能已遭篡改

HTTPS的优点:

  1. 为了解决 HTTP 协议的以上缺点,在上世纪90年代中期,由网景(NetScape)公司设计了 SSL 协议。
  2. SSL 是“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。
    在这里插入图片描述
    SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。
Robots协议

robots是网站跟爬虫间的协议,用简单直接的txt格式文本方式告诉对应的爬虫被允许的权限,也
就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点
时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内
容来确定访问的范围;如果该文件不存在,所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俾翻个牛B我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值