Python学习 Day14 爬虫开发基础(二)

爬虫开发基础

(一)HTTP请求的交互过程

  • (1)客户端浏览器向网站所在的服务器发送一个请求
  • (2)网站服务器接收到这个请求后进行解析、处理,然后返回响应对应的数据给浏览器
  • (3)浏览器中包含网页的源代码等内容(存在浏览器的缓存中),浏览器再对其进行解析,最终将结果呈现给用户
  • Requests请求包含:URL、请求方式、请求参数
  • Response响应:获取请求参数、处理请求、响应

  • Elements:分析网页结构,获取数据
  • Console:打印输出网站的一些信息
  • Sources:加载网页所需要的所有源文件,如Elements源代码、CSS文件、JS文件等
  • Network:查看整个网页所发送的所有网络请求
    网页结构

(二) Session与Cookie

Session

  • session代表服务器与浏览器的一次会话过程
  • session是一种服务器端的机制,session对象用来存储特定用户所需的信息
  • session由服务器端生成,保存在服务器的内存、缓存、硬盘或数据库中

工作原理

  • 客户端通过URL向服务器端发送请求,服务器端接受请求产生session对象,并生成sessionID保存在cookie中返回给客户端,客户端下次发送的请求即携带了sessionID,客户端可以据此验证用户是否已登录

Cookie

  • cookie是由服务器端生成后发送给客户端(通常是浏览器),cookie总是保存在客户端

工作原理

  • (1)创建cookie
  • (2)设置存储cookie(请求头中set-Cookie)
  • (3)发送cookie
  • (4)读取cookie
  • 查看cookie:设置-网站设置-cookie和网站数据-查看所有cookie和网站数据
    在这里插入图片描述
    网站设置
    cookie和网站数据
    查看所有cookie和网站数据
    检索或查看

(三)JSON

  • JavaScript ObjectNotation,JS对象标记,是一种轻量级的数据交互格式,采用完全独立于编辑语言的文本格式来存储和表示数据
  • 简洁清晰的层次结构使得json成为理想的数据交换语言,易于阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率

JSON的数据格式

  • (1)对象表示为键值对
  • (2)数据由逗号分隔
  • (3)花括号保存对象
  • (4)方括号保存数据

JSON数据的解析

my_json={'name':'python','address':{'province':'浙江省','city':['杭州','嘉兴','温州']}}

#获取浙江省
province=my_json['address']['province']
print(province) #浙江省

#获取杭州
city=my_json['address']['city'][0]
print(city) #杭州

(四)Ajax

  • Ajax在浏览器与web服务器之间用异步数据传输,使网页从服务器获取少量而不是全部信息
  • Ajax技术独立于浏览器和平台
  • Ajax一般返回的是JSON,直接对Ajax地址进行Post或Get,以此返回JSON数据

判断是否为Ajax数据(动态数据)

  • (1)触发事件时,若网页发生没有刷新状态,则说明数据是通过Ajax生成并渲染的,反之数据就是通过服务器后台生成并加载的(静态数据)
  • (2)Source中Ctrl+F查找Elements中的内容,若显示0,这说明是Ajax请求

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值