爬虫介绍

前言:该系列为爬虫基础,适合没有接触过python或刚刚起步的同学,如有错误,欢迎指出。


--爬虫的定义:

通过编写程序,模拟浏览器行为浏览网页,获取互联网上的数据,也称为蜘蛛,如:百度;谷歌,都是爬虫。

注意:

  • 爬虫是python的一个分支或者说方向,个人自学python(爬虫)两年,从0-1,一步一步走来,明白其中的辛苦,若你没有大毅力,就不要自学了;给初学者的建议:第一语言不要学习python,(个人见解,不喜勿喷)。

--爬虫的分类:

  1. 通用爬虫:获取的只是一个url(网址)下的页面数据;

  2. 聚焦爬虫:根据指定的需求获取页面中指定的局部数据;

  3. 增量式爬虫:用来监测网站数据更新的情况。

--概念混淆:

  • 反爬机制:网站可以采用相关的技术手段或者策略阻止爬虫对网站的数据获取(代码报错)。

  • 反反爬策略:让爬虫程序伪装(破解)网站限制并获得数据。

--robots协议:君子协议,里面限制了哪些可爬,哪些不可爬,但是你可以不用遵守。

--爬虫流程的概括:

  1. 获取网页源码 ===》urllib、requests

  2. 提取所需要的业务数据 ==》BeautifulSoup、xpath、css选择器、pyquery

  3. 保存数据 ===》 json、csv、txt(文件存储)等;

  4. 自动化程序

--URL(统一资源定位符,俗称网址)

  • URL的全称感兴趣的可以了解一下,我们主要解释一下它是做什么的,我们每天网上冲浪,百度了解一下,我们在浏览器的输入框=》www.baidu.com 这就是url。

  • 如:https://github.com/favicon.ico,我们用URL来唯一指定它的访问方式,这其中包括了访问协议https、访问路径和资源名称,通过这样的链接,我们便可以从互联网上找到资源,这就是url.

--超文本(HTML)

  • 你打开一个网址如:www.baidu.com;你所看见的页面正是通过html以及其他的语言渲染出来的,我们右击->查看网页源代码;或者按F12你会发现有代码出现,里面就包括HTML代码。

--HTTP/HTTPS协议介绍

  • 概念:HTTP协议就是服务器端(网站的服务器)与客户端(自己的电脑)之间进行数据交互的一种方式。

  • HTTP工作原理:HTTP协议工作在客户端-服务端交媾之上的;浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求;Web服务器根据接收到的请求后,向客户端发送响应信息。

    1. 常见的请求头信息:

      accept:浏览器通过这个头告诉服务器,它所支持的数据类型Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
      Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
      Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
      Host:浏览器通过这个头告诉服务器,想访问哪台主机
      If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
      Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
      Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接
      X-Requested-With: XMLHttpRequest 代表通过ajax方式进行访问
      User-Agent:请求载体的身份标识
    2. 常见的响应头信息:

      Location: 服务器通过这个头,来告诉浏览器跳到哪里
      Server:服务器通过这个头,告诉浏览器服务器的型号
      Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式
      Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度
      Content-Language: 服务器通过这个头,告诉浏览器语言环境
      Content-Type:服务器通过这个头,告诉浏览器回送数据的类型
      Refresh:服务器通过这个头,告诉浏览器定时刷新
      Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据
      Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的
      Expires: -1 控制浏览器不要缓存
  • 关于怎么查看请求头信息/响应头信息,我会在后面出专门的文章来解惑。

  • 关于HTTPS协议定义:HTTPS 安全超文本传输协议,HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。

  • HTTPS的加密算法算法包括(简略):

    1. 对称密钥加密

    2. 非对称密钥加密

    3. 证书密钥加密

--cookies简单介绍介绍

  • Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据;

  • 浏览器需要保存这段数据,不得轻易删除;

  • 此后每次浏览器访问该服务器,都必须带上这段数据,这样才能证明你就是你;

  • 详情了解请自行百度,后续会介绍cookies的用法。

posted @ 2019-10-19 20:56  Xbhog  阅读(340)  评论(0编辑  收藏  举报