zoukankan      html  css  js  c++  java
  • 爬虫介绍

    前言:该系列为爬虫基础,适合没有接触过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的用法。

  • 相关阅读:
    抽象
    数据处理—异常值处理
    数据处理—数据连续属性离散化
    数据处理—缺失值处理
    数据处理—归一化
    数据特征—正态性检验
    数据特征—相关性分析
    数据分析—统计分析
    数据特征—帕累托分析
    特征分析—对比分析
  • 原文地址:https://www.cnblogs.com/xbhog/p/11705160.html
Copyright © 2011-2022 走看看