AI金融投资:批量下载深交所公募REITs公开说明书

2024-06-15 22:12

本文主要是介绍AI金融投资:批量下载深交所公募REITs公开说明书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打开深交所公募REITs公开说明书页面,F12查看网络,找到真实地址:https://reits.szse.cn/api/disc/announcement/annList?random=0.3555675437003616

{

"announceCount": 39,

"data": [

{

"id": "80bc99a7-8a04-4803-b42a-d9cca1e6c5d5",

"annId": 1220300147,

"title": "华夏华润商业REIT:华夏华润商业资产封闭式基础设施证券投资基金招募说明书更新",

"content": null,

"publishTime": "2024-06-08 00:00:00",

"attachPath": "/disc/disk03/finalpage/2024-06-08/a77d6a34-c4eb-4dcf-9b16-7c2ce856ebdd.PDF",

"attachFormat": "PDF",

"attachSize": 6265,

"secCode": [

"180601"

],

"secName": [

"华夏华润商业REIT"

],

"bondType": null,

"bigIndustryCode": null,

"bigCategoryId": null,

"smallCategoryId": null,

"channelCode": null,

"_index": "ows_disclosure-20180825"

},

返回的是json数据,PDF地址在这里:"/disc/disk03/finalpage/2024-06-08/a77d6a34-c4eb-4dcf-9b16-7c2ce856ebdd.PDF",

打开下载页面,查看网站URL:https://disc.static.szse.cn/disc/disk03/finalpage/2024-06-08/a77d6a34-c4eb-4dcf-9b16-7c2ce856ebdd.PDF

那么,开头要添加的是“https://disc.static.szse.cn”

在deepseek中输入提示词:

你是一个Python编程专家,写一个Python脚本,具体步骤如下:

请求网址:

https://reits.szse.cn/api/disc/announcement/annList?random=0.3555675437003616

请求方法:

POST

状态代码:

200 OK

远程地址:

58.251.50.138:443

引荐来源网址政策:

strict-origin-when-cross-origin

请求载荷:

{"seDate":["",""],"channelCode":["reits-xxpl"],"bigCategoryId":["directions"],"pageSize":50,"pageNum":1}

请求标头:

Accept:

application/json, text/javascript, */*; q=0.01

Accept-Encoding:

gzip, deflate, br, zstd

Accept-Language:

zh-CN,zh;q=0.9,en;q=0.8

Connection:

keep-alive

Content-Length:

104

Content-Type:

application/json

Host:

http://reits.szse.cn

Origin:

https://reits.szse.cn

Referer:

https://reits.szse.cn/disclosure/index.html

Sec-Ch-Ua:

"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"

Sec-Ch-Ua-Mobile:

?0

Sec-Ch-Ua-Platform:

"Windows"

Sec-Fetch-Dest:

empty

Sec-Fetch-Mode:

cors

Sec-Fetch-Site:

same-origin

User-Agent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36

X-Request-Type:

ajax

X-Requested-With:

XMLHttpRequest

获取网页返回的响应,这是一个嵌套的json数据;

定位到 "data"键下"title"键对应的值,这是PDF文件的标题;

定位到 "data"键下 "attachPath"键对应的值,这是PDF文件URL,前面加上“https://disc.static.szse.cn”,构成一个完整的PDF下载URL;

下载PDF文件,保存到文件夹:F:\AI自媒体内容\AI炒股\REITs

注意:每一步都要输出信息

PDF文件标题中可能包括一些不符合window系统命名规则的特殊符号,在重命名PDF文件前要先进行处理;

每下一个PDF文件,就随机暂停3-6秒;

源代码:

import requests

import json

import os

import time

import random

import re

# 定义请求URL和请求头

url = "https://reits.szse.cn/api/disc/announcement/annList?random=0.3555675437003616"

headers = {

"Accept": "application/json, text/javascript, */*; q=0.01",

"Accept-Encoding": "gzip, deflate, br, zstd",

"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",

"Connection": "keep-alive",

"Content-Type": "application/json",

"Host": "http://reits.szse.cn",

"Origin": "https://reits.szse.cn",

"Referer": "https://reits.szse.cn/disclosure/index.html",

"Sec-Ch-Ua": '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"',

"Sec-Ch-Ua-Mobile": "?0",

"Sec-Ch-Ua-Platform": '"Windows"',

"Sec-Fetch-Dest": "empty",

"Sec-Fetch-Mode": "cors",

"Sec-Fetch-Site": "same-origin",

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",

"X-Request-Type": "ajax",

"X-Requested-With": "XMLHttpRequest"

}

# 定义请求载荷

payload = {

"seDate": ["", ""],

"channelCode": ["reits-xxpl"],

"bigCategoryId": ["directions"],

"pageSize": 50,

"pageNum": 1

}

# 发送POST请求

response = requests.post(url, headers=headers, json=payload)

# 检查响应状态码

if response.status_code == 200:

print("请求成功,状态码: 200 OK")

else:

print(f"请求失败,状态码: {response.status_code}")

exit()

# 解析JSON响应

data = response.json()

# 检查是否有数据

if "data" in data and isinstance(data["data"], list):

for item in data["data"]:

# 获取PDF标题

pdf_title = item.get("title", "unknown_title")

print(f"PDF标题: {pdf_title}")

# 获取PDF URL

pdf_url = item.get("attachPath", "")

if pdf_url:

pdf_url = "https://disc.static.szse.cn" + pdf_url

print(f"PDF URL: {pdf_url}")

# 处理PDF标题中的非法字符

pdf_title = re.sub(r'[<>:"/\\|?*]', '_', pdf_title)

# 定义保存路径

save_path = f"F:\\AI自媒体内容\\AI炒股\\REITs\\{pdf_title}.pdf"

# 下载PDF文件

pdf_response = requests.get(pdf_url)

if pdf_response.status_code == 200:

with open(save_path, 'wb') as f:

f.write(pdf_response.content)

print(f"PDF文件已保存到: {save_path}")

else:

print(f"下载PDF文件失败,状态码: {pdf_response.status_code}")

# 随机暂停3-6秒

time.sleep(random.uniform(3, 6))

else:

print("没有找到数据")

这篇关于AI金融投资:批量下载深交所公募REITs公开说明书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064716

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

Python批量替换多个Word文档的多个关键字的方法

《Python批量替换多个Word文档的多个关键字的方法》有时,我们手头上有多个Excel或者Word文件,但是领导突然要求对某几个术语进行批量的修改,你是不是有要崩溃的感觉,所以本文给大家介绍了Py... 目录工具准备先梳理一下思路神奇代码来啦!代码详解激动人心的测试结语嘿,各位小伙伴们,大家好!有没有想

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k