您的位置:首页 > 房产 > 家装 > python 压缩数据

python 压缩数据

2025/1/9 4:11:26 来源:https://blog.csdn.net/qh0526wy/article/details/140086025  浏览:    关键词:python 压缩数据

`requests` 是 Python 中一个非常流行的 HTTP 库,用于发送各种 HTTP 请求。下面是一个使用 `requests` 库发送简单 GET 请求和 POST 请求的示例:

首先,确保你已经安装了 `requests` 库。如果还没有安装,可以使用 pip 进行安装:

```bash
pip install requests
```

### GET 请求示例:

```python
import requests

# 目标 URL
url = 'http://httpbin.org/get'

# 发送 GET 请求
response = requests.get(url)

# 检查请求是否成功
if response.status_code == 200:
    # 获取响应内容
    print(response.text)
else:
    print('Failed to retrieve content:', response.status_code)
```

### POST 请求示例:

```python
import requests

# 目标 URL
url = 'http://httpbin.org/post'

# 要发送的数据
data = {
    'key1': 'value1',
    'key2': 'value2'
}

# 发送 POST 请求
response = requests.post(url, data=data)

# 检查请求是否成功
if response.status_code == 200:
    # 获取响应内容
    print(response.text)
else:
    print('Failed to post data:', response.status_code)
```

这两个示例演示了如何使用 `requests` 库发送基本的 GET 和 POST 请求。`requests` 库还支持其他类型的 HTTP 请求,如 PUT、DELETE、HEAD 等,并且可以处理更复杂的请求,如带有自定义头部、cookie、超时设置等。

如果你需要发送 JSON 数据,可以使用 `json` 参数而不是 `data` 参数:

```python
# 发送 POST 请求,包含 JSON 数据
response = requests.post(url, json=data)
```

这将自动将字典编码为 JSON 格式,并设置适当的 `Content-Type` 头部。

测试代码

import json
import zlib
import requests as re
import json
import lzma# 获取数据
Qhurl = "https://push2.eastmoney.com/api/qt/stock/details/get"
Qhparams = {"fields1":"f1,f2,f3,f4","fields2":"f51,f52,f53,f54,f55","fltt":"2","pos":"-100000","secid":"1.603267","ut":"fa5fd1943c7b386f172d6893dbfba10b","wbp2u":"|0|0|0|web",}Qhreq = re.get(url=Qhurl, params=Qhparams)
# Qhreq.encoding = "utf-8"
Qhreqjson = json.dumps(Qhreq.text)
print(type(Qhreqjson))
# # 例如,将其写入文件
with open('原始数据compressed_data.bin', 'wb') as f:f.write(Qhreqjson.encode('utf-8'))
print("原始数据长度:",len(Qhreqjson))
# compressed_data = zlib.compress(Qhreqjson.encode('utf-8'))
compressed_data = lzma.compress(Qhreqjson.encode('utf-8'))
# print(compressed_data)
print("压缩后数据长度:",len(compressed_data))
with open('压缩后数据compressed_data.txt', 'wb') as f:f.write(compressed_data)
# decompressed_data = zlib.decompress(compressed_data).decode('utf-8')
decompressed_data = lzma.decompress(compressed_data).decode('utf-8')
# print(decompressed_data)print("解压后数据长度:",len(compressed_data))
Qhreqjson = json.loads(json.loads(decompressed_data))
# print(Qhreqjson)
print("解压后数据长度   json:",len(Qhreqjson))print("解压后数据长度  行数:",len(Qhreqjson["data"]["details"]))


运行结果:

压缩前后数据大小对比

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com