> 文章列表 > python爬虫基础

python爬虫基础

python爬虫基础

爬虫基础

HTTP基本原理

  • URL(Uniform Resource Identifier)统一资源标志符
    • 格式:scheme://[username:password@]hostname[:port][/path][;parameters][?query][#fragment],中括号包括的内容代表不必要部分。比如:https://www.baidu.com 只包含了scheme 和 hostname两部分。
    • scheme:协议。常用的协议有http、https、ftp等。另外scheme也常被称作protocol,都代表协议。
    • username、password:用户名和密码,在某些情况下URL需要提供用户名和密码才能访问。
    • hostname: 主机地址,可以是域名或IP地址。
    • port:端口,这是服务器设定的服务端口,如:https://8.8.8.8:12345,这个URL中的端口就是12345,但是有些URL中没有端口信息,这是使用了默认的端口。http协议的默认端口是80,https协议的默认端口是443。所以https://www.baidu.com起始相当于https:www.baidu.com:443。
    • path:路径。指的是网络资源在服务器中的指定位置。比如https://github.com/favicon.ico总的favicon.ico中的path就是favicon.cn,指的就是Github根目录下的favicon.ico。
    • parameters:参数。用来制定访问某个资源时的附加信息,比如https://8.8.8.8:12345/htllo;user中的user就是parameters。但是parameters现在用的很少,严格意义上来说,parameters是分号(;)后面的内容。
    • query:查询。用来查询某类资源,如果有多个查询,则用&隔开。比如https://www.baidu.com/s?wd=nba&ie=utf-8,其中的query部分就是wd=nba&ie=utf-8。由于query比刚才所说的parameters使用频率高很多,所以平常见到的参数、GET请求参数、parameters、params等称呼多数情况指代的也是query。严格意义上来说,应该用query来表示。
    • fragment:片段。它是对资源描述的部分补充,可以理解为资源内部的书签。目前它有两个主要的应用,一个是用作单页面路由,比如Vue、React都可以借助它来做路由管理;另外一个是用作HTML锚点,用它可以控制一个页面打开时自动下滑滚动到某个特定的位置。

HTTP和HTTPS

  • HTTP(Hypertext Transfer Protocol)中文名为超文本传输协议,其作用是把超文本数据从网络传输到本地浏览器,能够保证高效而准确地传输超文本文档。
  • HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)是以安全为目标的HTTP通道,简单讲的就是HTTP的安全版,即在HTTP下加入SSL层,简称HTTPS。
  • HTTPS的安全基础是SSL,因此通过该协议的内容都是经过SSL加密的,SSL的主要作用有以下两种。
  • 建立一个信息安全通道,保证数据传输的安全性。
  • 确认网站的真实性。凡是使用了HTTPS协议的网站,都可以通过单机浏览器地址栏的锁头标志来查看网站认证之后的真实信息,此外还可以通过CA机构颁发的安全签章来查询。