Python 爬虫基础入门知识


活动地址:CSDN21天学习挑战赛

目录

  • 一、为什么要学爬虫?
  • 二、爬虫为什么用Python?
  • 三、有爬虫就有反爬虫
  • 四、爬虫的流程图
  • 五、爬虫相关技术
  • 1、HTML
  • 2、CSS
  • 3、URL(Uniform Resource Location)
  • 4、HTTP和HTTPS
  • 5、爬虫常见请求方式
  • 6、常见请求头参数
  • 7、常见状态码
  • 8、AJAX
  • 一、为什么要学爬虫?

    注意:爬虫学得好,牢饭吃得早 –君子爱财取之有道

    爬虫可以获取一些数据,在工作中像数据分析、机器学习会拿一定的数据做行业分析等。

    二、爬虫为什么用Python?

    除了Python,像Java,C等语言都可以写爬虫,因为Python的第三方类库比较齐全,工欲善其事,必先利其器,能用最少的时间发挥最大的价值,就是用Python的原因。

    三、有爬虫就有反爬虫

    因为爬虫可能会造成服务器拥堵,甚至瘫痪,所以还是要遵守君子协定,在网站允许你爬的范围内展开爬取数据。

    四、爬虫的流程图

    五、爬虫相关技术

    1、HTML

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>标题</title>
    </head>
    <body>
    
    <h1>我的第一个标题</h1>
    <h6>我的第六个标题</h6>	
    <p>我的第一个段落。</p>
    <b>加粗文本</b>
    <i>斜体文本</i>
    <a href="https://tianlingqun.blog.csdn.net">大数据博客超链接</a>
    <br>
    <img border="30" src="https://i3.wp.com/img-blog.csdnimg.cn/beaf169c250348af8162bec1da9edb96.png" alt="图片" width="32" height="32">
    </body>
    </html>
    

    2、CSS

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>标题</title>
    <style>
    body {
    	background-color:#d0e4fe;
    }
    h1 {
    	color:orange;
    	text-align:center;
    }
    p {
    	font-family:"Times New Roman";
    	font-size:30px;
    }
    </style>
    </head>
    
    <body>
    
    <h1>CSS 实例!</h1>
    <p>这是一个段落。</p>
    
    </body>
    </html>
    

    3、URL(Uniform Resource Location)

  • 解释:
  • 统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

  • URL组成:
  • 第1部分是协议(或称为服务方式);
    第2部分是存有该资源的主机IP地址(有时也包括端口号);
    第3部分是主机资源的具体地址。,如目录和文件名等。

    注意:

    第1部分和第2部分之间用“://”符号隔开,第2部分和第3部分用“/”符号隔开。第1部分和第2部分是不可缺少的,第3部分有时可以省略。

    4、HTTP和HTTPS

    定义:

    HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。TCP 协议 80 端口。
    HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。 TCP 协议443端口。

    HTTPS的工作流程

    1、TCP 三次同步握手
    2、客户端验证服务器数字证书
    3、DH 算法协商对称加密算法的密钥、hash 算法的密钥
    4、SSL 安全加密隧道协商完成
    5、网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。

    区别:

    HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。

    5、爬虫常见请求方式

  • get请求
  • GET是默认的HTTP请求方法
    发送一个请求常用来获取服务器资源
    GET请求把参数包含在URL中,将请求信息放在URL后面,POST请求通过request body传递参数,将请求信息放置在报文体中。
    get安全性非常低
    get传送的数据量较小,不能大于2KB

  • post请求
  • 向URL指定的资源提交数据或附加新的数据
    post安全性较高,post传递数据比较隐私
    post传送的数据量较大,一般被默认为不受限制

    6、常见请求头参数

    Request URL: 请求地址
    Request Method:请求方式
    Status Code:状态码
    Remote Address:IP地址
    Cookie:一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie 文件的形式保存在每个用户的机器上
    User-Agent:浏览器
    Referer:跳转的地址

    7、常见状态码

    200 操作执行成功。
    298 部分操作执行成功。
    400 请求报文格式错误。(包括上传时,上传表单格式错误;URL触发图片处理时,处理参数错误;
    401 认证授权失败。(包括密钥信息不正确;数字签名错误;授权已超时)
    404 资源不存在。(包括空间资源不存在;镜像源资源不存在)
    405 请求方式错误。(主要指非预期的请求方式)
    406 上传的数据 CRC32 校验错误。
    419 用户账号被冻结。
    478 镜像回源失败。(主要指镜像源服务器出现异常)
    503 服务端不可用。
    504 服务端操作超时。
    579 上传成功但是回调失败。(包括业务服务器异常;七牛服务器异常;服务器间网络异常)
    599 服务端操作失败。
    608 资源内容被修改。
    612 指定资源不存在或已被删除。
    614 目标资源已存在。
    630 已创建的空间数量达到上限,无法创建新空间。
    631 指定空间不存在。
    640 调用列举资源(list)接口时,指定非法的marker参数。
    701 在断点续上传过程中,后续上传接收地址不正确或ctx信息已过期。

    8、AJAX

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术

  • AJAX是什么?
  • AJAX = Asynchronous JavaScript and XML.
    AJAX 是一种用于创建快速动态网页的技术。
    AJAX 通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重载整个页面的情况下,对网页的某些部分进行更新。
    传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个页面。

    来源:与自己作战

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python 爬虫基础入门知识

    发表评论