药监局—json数据获取—requsts

编程入门 行业动态 更新时间:2024-10-07 16:21:23

<a href=https://www.elefans.com/category/jswz/34/1766436.html style=药监局—json数据获取—requsts"/>

药监局—json数据获取—requsts

目录

一、目标网址分析

二、代码部分


学习记录:

一、目标网址分析

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

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

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

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

 再对其检查:

 参数:多找几页后

 打开返回给我们的数据:

 来到其详情页:

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

 发现是个字典形式:

 哦可,可以代码了

二、代码部分

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

import requests
import csvheaders = {'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 = ':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 = ':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 csvheaders = {'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 = ':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 = ':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()

运行看看:

 


记录~~~

 

更多推荐

药监局—json数据获取—requsts

本文发布于:2024-02-27 22:01:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766337.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:药监局   数据   json   requsts

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!