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

  • 模块使用:

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

  • 实现步骤:

    1. 模拟浏览器请求:

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

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

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

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循环遍历 提取ID
    for 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)

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 05:04:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 05:04:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 05:04:02       87 阅读
  4. Python语言-面向对象

    2024-04-24 05:04:02       96 阅读

热门阅读

  1. Linux登录后的提示信息在哪里配置及配置方法

    2024-04-24 05:04:02       35 阅读
  2. CSS文本样式

    2024-04-24 05:04:02       30 阅读
  3. 程序员开发必备,开发资源资料分享【3】

    2024-04-24 05:04:02       32 阅读
  4. LoRA(Low-Rank Adaptation)原理与应用

    2024-04-24 05:04:02       38 阅读
  5. docker-004-搭建本地镜像库

    2024-04-24 05:04:02       30 阅读
  6. react之渲染与props

    2024-04-24 05:04:02       35 阅读
  7. 文件、文件夹被占用无法删除

    2024-04-24 05:04:02       35 阅读
  8. [NOIP2013]记数问题

    2024-04-24 05:04:02       44 阅读
  9. nlohmann::json 使用实例

    2024-04-24 05:04:02       34 阅读