02_爬虫基础

HTTP基本原理

URL和URI

  • url:统一资源定位符,用来定位某些资源,是uri的子集
  • URI:统一资源标志符,用来标识某些资源

HTTP和HTTPS

  • HTTP:超文本传输协议,即从网络传输超文本数据到本地浏览器的协议。目前广泛使用的是HTTP 1.1版本。
  • HTTPS:以安全为目标的超文本传输协议,在HTTP的基础上加入了SSL层,用来进行安全认证。
    • 作用:建立一个安全的的通道来保证数据传输的安全;确认网络的真实性,可以查看网站的真实信息。

请求和响应

  • 请求:包括请求方式、请求网址,请求头、请求体。
    • 常见的请求方式:GET和POST
      • Get:请求页面,并返回页面数据,参数会暴露在URL中,提交的数据最多只有1024字节。
      • Post:用于表单提交和文件上传,参数不会暴露在url中,而是包含在请求体中请求的数据没有大小的限制。
    • 请求的网址:即请求的url,唯一确定我们想要的资源
    • 请求头:用来说明服务器要使用的附加信息,常见信息有cookies、referer,user-agent等。
      • accept:请求报头域,用于指定浏览器可接受哪些类型的信息。
      • accept-language:指定浏览器可接受的语言类别。
      • accept-encoding:指定浏览器可接受的内容编码。
      • Host:用于指定请求资源的的主机IP和端口号
      • cookie:为了辨别用户进行绘画跟踪而存储在用户本地的数据,主要功能是维持当前会话.
      • referer:标志当前请求是从哪个页面发过来的。
      • user-agent:一个特殊的字符串,可以使服务器识别客户使用的浏览器版本信息以及操作系统及版本。
      • content-type:互联网媒体类型,表示具体请求中的媒体类型信息,例如:text/html代表html格式。
    • 请求体:请求体一般承载的内容是post请求中获得表单数据,对于get请求,请求体为空。
  • 响应:由服务端返回给客户端,可以分为三部分:响应状态码,响应头和响应体。
    • 响应状态码:200表示正常,404表示页面找不到等
    • 响应头:包含了服务器对请求的应答信息,包括content-type,server等。
      • date:标识响应产生的时间
      • last-modified:指定资源的最后修改时间
      • content-encoding:指定响应内容的编码
      • server:包含服务器的信息,例如名称,版本号等
      • content-type:文档类型,指定返回的数据类型是什么
      • set-cookies:设置cookies
      • expires:设置响应过期时间,将内容加载到缓存中,降低服务器负载,缩短加载时间。
    • 响应体:所返回的数据。

爬虫的基本流程

  • 获取网页源代码-分析源码,提取数据-保存数据-自动化程序

会话和cookies

  • 无状态http:http的一个特点,无状态,也就是说http协议对事物处理是没有记忆能力的。
  • 保持http链接状态的两个技术:会话和cookies。服务器通过识别cookies识别是哪个用户,然后再判断用户是否处于登陆状态,从而返回对应的响应
    • 会话:会话在服务器端,用来保护用户的会话信息。
    • cookies:在客户端,与会话协作,实现了登录会话的维持状态。
      • name:cookie的名字,一旦创建不可改变
      • value:该cookie的值
      • domain:设置可以访问该cookie的域名,即有哪些域名可以访问该cookie
      • max-age:设置cookie失效时间,单位为秒
      • path:设置cookie的使用路径,即哪些路径可以使用cookie,如果设置/,则本域名下的所有路径都可以访问该cookie
      • size:cookie的大小

你可能感兴趣的:(02_爬虫基础)