IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 药监局—json数据获取—requsts -> 正文阅读

[Python知识库]药监局—json数据获取—requsts

目录

一、目标网址分析

二、代码部分


学习记录:

一、目标网址分析

目标网址:化妆品生产许可信息管理系统服务平台?, 进入网址:

?随便点击一个公司,会跳转一个新的页面:想要收集的数据也在里面。

现在,可以先看看网页的源码:

在这里ctr+f定位我们想要的数据,发现并没有搜索到,再此处找到数据:

?再对其检查:

?参数:多找几页后

?打开返回给我们的数据:

?来到其详情页:

?我们将返回的json数据复制出来,提取数据:

?发现是个字典形式:

?哦可,可以代码了

二、代码部分

1)构造主页面的url参数,并通过requests拿到json 数据:

import requests
import csv

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'
}

def get_down(page):
    url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
    data = {
        'on': 'true',
        'page': page,
        'pageSize': 15,
        'productName': '',
        'conditionType': 1,
        'applyname': '',
        'applysn': ''
    }

    resp = requests.post(url=url, headers=headers, data=data).json()

提取出详情页需要的ID值:

dict_list = resp['list']
    for ids in dict_list:
        _id = ids['ID']

2)对详情页请求:

 url2 = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
        data2 = {
            'id': _id
        }

        resp2 = requests.post(url=url2, headers=headers, data=data2).json()

?3)提取数据:

com_name = resp2['epsName']  # 企业名称
number = resp2['productSn']  # 许可证编号
allow_p = resp2['certStr']  # 生产许可证项目
epsAddress = resp2['epsAddress']  # 企业住址
epsProductAddress = resp2['epsProductAddress']  # 生产地址
businessLicenseNumber = resp2['businessLicenseNumber']  # 信用编号
legalPerson = resp2['legalPerson']  # 法定代表人
qfManagerName = resp2['qfManagerName']  # 发证机关
xkDate = resp2['xkDate']  # 有效期至
xkDateStr = resp2['xkDateStr']  # 发证日期

总代吗:

"""
2022年

CSDN:抄代码抄错的小牛马
"""
import requests
import csv

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36'
}


def get_down(page):
    url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
    data = {
        'on': 'true',
        'page': page,
        'pageSize': 15,
        'productName': '',
        'conditionType': 1,
        'applyname': '',
        'applysn': ''
    }

    resp = requests.post(url=url, headers=headers, data=data).json()
    dict_list = resp['list']
    for ids in dict_list:
        _id = ids['ID']

        url2 = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
        data2 = {
            'id': _id
        }

        resp2 = requests.post(url=url2, headers=headers, data=data2).json()
        f = open('数据.csv', mode='a', encoding='utf-8', newline='')  # newline=''可以免空行写入
        csvwriter = csv.writer(f)
        com_name = resp2['epsName']  # 企业名称
        number = resp2['productSn']  # 许可证编号
        allow_p = resp2['certStr']  # 生产许可证项目
        epsAddress = resp2['epsAddress']  # 企业住址
        epsProductAddress = resp2['epsProductAddress']  # 生产地址
        businessLicenseNumber = resp2['businessLicenseNumber']  # 信用编号
        legalPerson = resp2['legalPerson']  # 法定代表人
        qfManagerName = resp2['qfManagerName']  # 发证机关
        xkDate = resp2['xkDate']  # 有效期至
        xkDateStr = resp2['xkDateStr']  # 发证日期

        csvwriter.writerow([com_name, number, allow_p, epsAddress,
                            epsProductAddress, businessLicenseNumber, legalPerson, qfManagerName, xkDate,
                            xkDateStr])  # 列表写入
        f.close()


def main():
    stat_page = int(input("请输入起始页码:"))
    end_page = int(input("请输入结束页码:"))
    for page in range(stat_page, end_page + 1):
        get_down(page)


if __name__ == '__main__':
    main()

运行看看:

?


记录~~~

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:39:24  更:2022-02-09 20:39:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:51:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码