本文主要是介绍Python爬虫从入门到精通:今日作业_requests基础04_爬取药监总局中的企业详情数据_Python涛哥,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今日作业:爬取药监总局中的企业详情数据
爬取药监总局中的企业详情数据
url:http://scxk.nmpa.gov.cn:81/xk/
需求:
将首页中每一家企业详情页对应的数据
每一家企业详情页对应的数据
将前5页企业的数据爬取即可。
难点:
用不到数据解析
所有的数据都是动态加载出来
提示:先试着将一家企业的详情页的详情数据爬取出来,然后再去爬取多家企业的数据
基于抓包工具定位到该ajax
请求的数据包,从该数据包中捕获到:
请求的url
请求的方式
请求携带的参数
看到响应数据
代码如下:
-
一家企业的详情页
# 一家企业的详情页 url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById' data = {'id': '60e1d57d0bb1477d85e074c0428f47a0' } response = requests.post(url=url, data=data, headers=headers) page_text = response.json() print(page_text['businessPerson'], page_text['epsProductAddress'])
-
所有企业名单
# 所有企业名单: url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList' data = {'on': 'true','page': '1','pageSize': '15','productName': '','conditionType': '1','applyname': '','applysn': '' }response = requests.post(url=url, data=data, headers=headers) page_text = response.json() for name in page_text['list']:print(name['EPS_NAME'], name['ID'])
-
爬取五页ID和企业详情页
# 爬取五页ID和企业详情页 for page in range(1, 6):url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'data = {'on': 'true','page': str(page),'pageSize': '15','productName': '','conditionType': '1','applyname': '','applysn': ''}response = requests.post(url=url, data=data, headers=headers)page_text = response.json()for name in page_text['list']:id = name['ID']url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'data = {'id': id}response = requests.post(url=url, data=data, headers=headers)page_text = response.json()print(page_text['businessPerson'], page_text['epsProductAddress'])
这篇关于Python爬虫从入门到精通:今日作业_requests基础04_爬取药监总局中的企业详情数据_Python涛哥的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!