爬虫学习笔记(一)——爬虫原理

一、爬虫概念

1.1、概念

网络爬虫也叫网络蜘蛛,特指一类自动批量下载网络资源的程序,这是一个比较口语化的定义。更加专业和全面对的定义是:网络爬虫是伪装成客户端与服务端进行数据交互的程序。这个专业的定义很重要,它描述了整个爬虫的过程,并提出了我们学习的内容:客户端,数据之间的交互过程;同时告诉我们,我们要做的工作,是伪装;在之后的学习过程中,在以后进行爬虫动作的时候,可以先将这句话复述一下,就知道如何下手去爬虫了。


1.2、作用

  1. 数据采集
    大数据时代来临,数据就是核心,数据就是生产力,越来越多的企业开始注重收集用户数据,而爬虫技术是收集数据的一种重要手段。
  2. 搜索引擎
    百度,谷歌等搜索引擎都是基于爬虫技术。
  3. 模拟操作
    爬虫也被广泛用于模拟用户操作,测试机器人,灌水机器人等。

1.3、开发的重难点

  1. 数据的获取
    网络公共资源都是为用户准备的,为了避免被爬虫采集,服务端会设置非常多的图灵测试,阻止爬虫的恶意爬取,也即是反爬措施。爬虫开发工程师在开发爬虫时,需要解决这些反爬措施。我们在开发爬虫的过程中,有很大一部分的工作就是处理这些反爬措施。
  2. 采集的速度
    大数据时代,需要巨大的数据量,动辄千万条的级别,甚至上亿条。如果采集速度跟不上,耗时过长,那么就达不到商业要求。一般我们会采取并发以及分布式来解决速度上的问题。这也是爬虫开发过程中的另外一个重心。

二、HTTP与HTTPS

2.1、网络架构

  1. c/s 即 client server 客户端 服务端

  2. b/s 即 browser server 浏览器 服务端

  3. m/s 即 mobile server 移动端 服务端

互联网的飞速发展是商业经济推动的。目前几乎所有的商业应用都是基于互联网的,它们一般采用c/s架构,b/s架构或者m/s架构。


2.2、HTTP协议

2.2.1、原因

计算机之间的交流与人之间的交流类似,人之间要说汉语,遵循一定的语法结构,普通话,声音洪亮等要求,这些要求,或约数,或规则,也可以叫做协议;这种协议保障了交流可能,能够互相理解对方传达的具体信息;计算机之间也是需要一种规则,保障之间信息的有效交流,这就是HTTP协议;

2.2.2、概念及特点

  • HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW: World Wide Web )服务器传输超文本到本地浏览器的传送协议。
  • 目前互连网上90%的网络传输都是基于http协议。
  • HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等);ps:使用TCP通信协议的重要的原因是基于其 面向连接的 特点;

2.2.3、HTTP协议的使用

HTTP请求流程

一次http请求的基本流程是,有客户端向服务端发起一次请求(request),而服务器在接收到以后返回给客户端一个响应(response)。所以一次完整的http请求包含请求和响应两部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

别呀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值