爬虫 利用python爬取药监总局所列化妆品公司详细信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了爬虫 利用python爬取药监总局所列化妆品公司详细信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2458字,纯文字阅读大概需要4分钟。
内容图文
![爬虫 利用python爬取药监总局所列化妆品公司详细信息](/upload/InfoBanner/zyjiaocheng/620/3523b211798047c086334a2f563d38ec.jpg)
问题描述:
利用python来爬取药监总局所列化妆品公司详细信息
问题分析:
??分析网页发现,在http://scxk.nmpa.gov.cn:81/xk/页面以分页的形式展示了所有化妆品公司。
???#1.其化妆品公司的数据并非通过上述网址获取的,而是页面通过http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList发送
#ajax请求获取的
???#2.我们要获取的是化妆品公司的详细信息,点入一个公司链接,分析发现其详细信息也是通过ajax请求获取的,其中以每个公司不同的ID来区别获取详细信息???#3.我们要获取的是所有化妆品公司信息,因此需要实现分页获取
???#4.如何取得所有公司的具体ID号
???#5持久化存储,此处我是把内容分别以json格式存储和存入到excel表格中
import csv
import requests
import json
#该案例是来爬取药监总局所列化妆品公司详细信息
#分析网页发现,在http://scxk.nmpa.gov.cn:81/xk/页面以分页的形式展示了所有化妆品公司,
#1.其化妆品公司的数据并非通过上述网址获取的,而是页面通过http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList发送
#ajax请求获取的
#2.我们要获取的是化妆品公司的详细信息,点入一个公司链接,分析发现其详细信息也是通过ajax请求获取的,其中以每个公司不同的ID来区别获取详细信息
#3.我们要获取的是所有化妆品公司信息,因此需要实现分页获取
#4.如何取得所有公司的具体ID号
url ="http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList"
Headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
}
id_list=[]
for i in range(1,10): #获取多页数据
param={
'on': 'true',
'page': i,
'pageSize': '15',
'productName':'',
'conditionType': '1',
'applyname':'',
'applysn':''
}
response=requests.post(url=url,params=param,headers=Headers)
dict_obj=response.json()
for dict in dict_obj['list']:
id_list.append(dict['ID']) #获取企业id号,并且存入到id_list集合中
urls = "http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById"
#持久化存储
#用于把数据存储到excel表格中
out = open('demo4.csv', 'a', newline='')
csv_write = csv.writer(out, dialect='excel')
dict_details=[]
for id in id_list: #遍历id,通过id获取详细信息,并把信息存入到dict_details集合中
data={
'id': id
}
response = requests.post(url=urls,headers=Headers,data=data).json()
epsName=response['epsName'] #只是展示效果,因此这里只选择了两项信息进行写入表格
businessPerson=response['businessPerson']
j_str = (str(epsName),str(businessPerson))
csv_write.writerow(j_str)
dict_details.append(response)
fb=open('./demo4.json','w',encoding='utf-8')
json.dump(dict_details,fp=fb,ensure_ascii=False)
print('over!!!')
结果展示:
内容总结
以上是互联网集市为您收集整理的爬虫 利用python爬取药监总局所列化妆品公司详细信息全部内容,希望文章能够帮你解决爬虫 利用python爬取药监总局所列化妆品公司详细信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。