使用python批量采集国家法律法规数据库——科学学习使用!遵守法律!绿色合规!

embedded/2024/9/23 8:45:57/
  • 模块使用:

    • 使用Python的requests模块进行网络请求操作。
  • 目标网址:

  • 实现步骤:

    1. 模拟浏览器请求:

      • 设置请求头信息模拟浏览器行为。
    2. 请求网址并循环获取数据:

      • 循环页面以获取数据,设置查询参数并使用requests.get()请求数据。
    3. 提取数据并保存文件:

      • 从返回的JSON数据提取文档ID,请求文档内容并保存为文件。

python">import requests# 模拟浏览器对url地址发送请求
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36'
}
# 请求网址 目录页链接
link = 'https://flk.npc.gov.cn/api/'
# for 循环页数
for page in range(1, 8):print(f'正在下载第{page}页数据:')# 查询参数p = {'page': page,'type': 'flfg','searchType': 'title;vague','sortTr': 'f_bbrq_s;desc','gbrqStart': '','gbrqEnd': '','sxrqStart': '','sxrqEnd': '','sort': 'true','size': '10','_': '1713881559870',}# 发送请求link_json = requests.get(url=link, params=p, headers=headers).json()print(link_json)# for循环遍历 提取IDfor index in link_json['result']['data']:docx_id = index['id']print(docx_id)# url地址url = 'https://flk.npc.gov.cn/api/detail'# 请求参数data = {'id': docx_id}# 发送请求response = requests.post(url=url, data=data, headers=headers)# 获取响应json数据json_data = response.json()# 解析数据# 提取文档名称title = json_data['result']['title']down_load = 'https://wb.flk.npc.gov.cn' + json_data['result']['body'][0]['path']# 对下载地址发送请求,获取二进制数据content = requests.get(url=down_load, headers=headers).content# 提取文件格式name = down_load.split('.')[-1]# 保存数据with open('content\\' + title + '.' + name, mode='wb') as f:# 写入数据f.write(content)print(down_load)

科学学习使用!遵守法律!热爱祖国热爱党!


http://www.ppmy.cn/embedded/13244.html

相关文章

【电控笔记5.10】Luenberger估测器

Luenberger估测计 单积分器:pi控制器的补偿 双积分器:使用pid控制器的补偿 除了受控厂跟传感器,其他都在mcu 去掉Rs就是一个PLL锁相环 带宽比PLL更大

工单系统选购指南:解锁高效管理之门的秘密

什么是工单系统?工单管理系统怎么选择?这是许多客户关心着的问题,工单系统已成为现代企业日常工作管理的重要工具,其重要性不言而喻。那么,什么是工单系统呢?它又是如何成为企业高效运转不可或缺的一部分&a…

C# danbooru Stable Diffusion 提示词反推 OpenVINO Demo

C# danbooru Stable Diffusion 提示词反推 OpenVINO Demo 目录 说明 效果 模型信息 项目 代码 下载 说明 模型下载地址:https://huggingface.co/deepghs/ml-danbooru-onnx 效果 模型信息 OVVersion { BuildNumber 2023.1.0-12185-9e6b00e51cd-releases/20…

Qt5中的常用模块

2024年4月23日,周二上午 以下是 Qt5 中常用的模块列表: 核心模块(Core):提供了 Qt 核心功能,包括对象模型、信号与槽机制、事件处理等。图形模块(Gui):提供了绘图和窗口…

JOS工具链平台迁移:从Linux到Windows

写在前面 在写这篇文章的时候,我已经把MIT 6.828的课程实验都做完了,相关的文章也会陆续更新。但是由于写文章把事情讲清楚的难度确实比做实验的难度大很多,所以更新速度可能会比较慢,还请谅解。 后续我决定在这个课程实验的基础…

注册中心~

注册中心:是服务实例信息的存储仓库,也是服务提供者和服务消费者进行交互的桥梁。它主要提供了服务注册和服务发现这两大核心功能。 注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。 常用的注册中心有Zookeep…

UTC和北京时间

influxdb 的时间为UTC和北京时间相差8小时,需要经常转化,所以有下面的2个常用时间 public static void main(String[] args) {//北京时间当天0点ZonedDateTime dateTime ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));ZonedDateTime beijin…

OCP Java17 SE Developers 复习题14

答案 C. Since the question asks about putting data into a structured object, the best class would be one that deserializes the data. Therefore, ObjectInputStream is the best choice, which is option C. ObjectWriter, BufferedStream, and ObjectReader are no…