(一)爬虫概述

爬虫概述

为什么要做网络爬虫

我们目前正处于人工智能和大数据时代,爬虫除了能够获取互联网的数据以外还能够帮我们完成很多繁琐的手动操作,这些操作不仅仅包括获取数据,还能够添加数据,比如:

  • 投票
  • 管理多个平台的多个账户(如各个电商平台的账号)
  • 微信聊天机器人

实际的应用远不止上面这些,但是上面的应用只是除开数据本身的应用而已,数据本身的应用也是很广的:

  • 机器学习语料库
  • 垂直领域的服务(二手车估值)
  • 聚合服务(去哪儿网,美团)
  • 新闻推荐(今日头条)
  • 预测和判断(医疗领域)

那数据从何而来?

所以爬虫能做的功能非常多,也就造就了爬虫的需求也是越来越旺盛,但是很多有过后端开发的人员却觉得爬虫很简单,很多人觉得爬虫用一个库(requests)去获取一个html然后解析就行了,实际上爬虫真的这么简单吗?

首先学习之前我们来问几个问题:

  • 如果一个网页需要登录才能访问,怎么办?
  • 对于上面的问题,很多人说模拟登录就行了,但实际上很多网站会采用各种手段去加大模拟登录的难度,如:各种验证码,登录逻辑的各种混淆和加密、参数的各种加密,这些问题都怎么解决?
  • 很多网站只能手机登录怎么办?
  • 很多网站为了用户体验和服务器优化,会将一个页面的各个元素采用异步加载或者js加载的方式完成?这些你有能力分析出来吗?
  • 作为一个网站,各种反爬的方案也是层出不穷,当你的爬虫被反爬之后,你如何去猜测对方是怎么反爬的?
  • 一个爬虫怎么发现最新的数据?如何发现一个数据是否被更新了?
    如果你只是做一个简单的爬虫,比如你的爬虫就是一次性的,一次性获取某个网站的某些数据这样当然就简单了,但是你要做一个爬虫服务,你就必须要面对上面的问题,这上面还没有提到数据的提取和解析等等
    接下来就开始我们的spider之旅吧

爬虫预热知识

HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。

HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。

SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

HTTP的端口号为80,
HTTPS的端口号为443


浏览器发送HTTP请求的过程

URL的形式

请求头的形式

HTTP常见请求头

常见请求方法

响应状态码

str类型和bytes类型

Unicode UTF8 ASCII

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容