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
import pandas as pd
 
 
# 获取数据
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"]))
aalist = [QhRow.split(",") for QhRow in Qhreqjson["data"]["details"]]  # 转换成列表
aa = pd.DataFrame(aalist,columns=["FS交易时刻","FS成交价","FS成交量","FSV1","FSV2"])
print("解压后数据长度  :",aa)

aa.to_csv("QhPylzma.csv",index=False,encoding="gbk")


运行结果:

压缩前后数据大小对比

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值