爬虫原理(GET\POST)

本文解析了静态与动态页面的区别,重点介绍了动态页面数据抓取的方法,包括GET与POST请求的区别,以及如何通过抓包获取JSON、JS、XML等数据格式。同时,详细讲解了Cookie的使用方式,包括直接保存Cookie和模拟登录过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态页面:数据保存在网页的HTML中
动态页面:数据不直接保存在HTML中,而是服务器后台单独传输数据,再渲染到页面中。
动态页面获取数据,必须抓包,找出浏览器和服务器之间传递的数据(json、js、xml)

GET: 可能会有查询字符串,但是一定没有表单数据(查询字符串会显示在url后面)
POST: 可能会有查询字符串,但是一定有表单数据(表单数据保存在请求体里发送)

匹配:""" ^(.?):\s(.?)$ “”"
替换:""" “\1” : “\2”, “”"
Sublime Text: 选中部分向下多选, ctrl + d

Cookie的两种用法:

  1. (最常用最简单)直接手动登录网站并保存cookie,用于程序的请求报头中
  2. (不常用很复杂)模拟登录:
    -1. 先分析登录页面,抓包获取需要的登录参数
    -2. 发送登录页面的get请求,提取登录参数
    -3. 附带登录参数 和 账户密码,发送post登录请求,如果登录成功则记录cookie
    -4. 附带这个登录后的cookie,发送其他需要登录才能访问的页面

response = urllib2.urlopen()
response.read()# 获取网页原始编码字符串,也可以获取图片音视频等字节数据

import requests

response = requests.get()
response.content # 获取网页原始编码字符串,也可以获取图片音视频等字节数据
response.text # 获取网页Unicode编码字符串

response.encoding = “utf-8” # 手动指定网页的编码,如果不指定则靠猜
response.text # 根据encoding来解码,获取网页Unicode编码字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值