提前准备工作

一.http://scxk.nmpa.gov.cn:81/xk/

二.要求:抓取每一家企业的企业详情数据

思路

1.在对一个陌生的网站进行数据爬取前,首先要确定我们想要爬取的数据是否为动态加载数据?

2.先进入到任意一家企业的详情页中,查看企业的详情数据是否为动态加态数据?

  # 3.基于抓包工具进行局部搜索# 搜索的到:不是动态加载# 搜索不到:是动态加载# 发生企业的详情数据是动态加载数据

3如何捕获动态加载数据

  # 基于抓包工具进行全局搜索,定位到动态加载数据对应的数据包# url:http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById# 请求方式:POST# 请求参数: id: a3fc0c56ea71460b9b94fc356a81a35a
# 再次对另一家企业的企业详情数据进行分析# 定位到了动态加载数据对应的数据包# 在该数据包中可以提取到url,请求方式和请求参数,对比发现,不同企业的详情数据的数据包请求方式和url是一样的,只有请求参数id的值不一样#结论:不同企业的企业详情数据对应的数据包只有id的参数不同,剩下都一样#结果:如果我们可以批量获取多家企业的id值,就可以批量获取更多家企业的企业详情数据。# 如何指量获取多家企业的id值?# id通常表示一组数据的唯一标识。联想到企业的名称也会作为企业的唯一标识# 那么会不会企业的id和企业的名称在页面中是绑定在一起的呢?# 测试:在首页通过企业名称找到企业的id# 通过抓包工具的分析,首页中企业的名称等信息也是动态加载数据。# 捕获动态加载数据。定位到指定的数据包,从数据包的响应数据中发现了不同企业id# 就可以将不同企业的id取到

解析网页如下(图一)

图二


##点击进入单个网页公司 - > 解析(图三)

撸代码

import requests
# import json
# UA伪装
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36X-Requested-With: XMLHttpRequest'
}main_url ='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
m_data = {'on': 'true','page': '1','pageSize': '15','productName': '','conditionType': '1','applyname': '','applysn': ''
}m_response=requests.post(url=main_url,headers=headers,data=m_data)
json_data = m_response.json()
ids = [] # 存储多家企业的id
for dic in json_data['list']:_id = dic['ID']ids.append(_id)# print(_id)# 循环对每一家企业的详情数据进行获取
for _id in ids:# 指定urlurl = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'# 请求参数data = {'id': _id}# 发起的post请求response = requests.post(url=url,data=data,headers=headers)# response.encoding("utf-8")# 获取响应数据json_data = response.json() # 如果确定响应数据为json格式字符串才可以调用json方法现实格式化# 获取企业名称,法人代表,许可证编号 生产许可项目 企业住所print(json_data['epsName'],json_data['legalPerson'],json_data['productSn'],json_data['certStr'],json_data['epsProductAddress'])

爬取想要的信息如(图)

执行结果

【药监总局】python抓取企业详情数据相关推荐

  1. 微信好友大揭秘,使用Python抓取朋友圈数据,通过人脸识别全面分析好友,一起看透你的“朋友圈”...

    微信:一个提供即时通讯服务的应用程序,更是一种生活方式,超过数十亿的使用者,越来越多的人选择使用它来沟通交流. 不知从何时起,我们的生活离不开微信,每天睁开眼的第一件事就是打开微信,关注着朋友圈里好友 ...

  2. 手把手教你入侵网站修改数据_手把手教你使用Python抓取QQ音乐数据(第四弹)...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  3. 手把手教你使用Python抓取QQ音乐数据!

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  4. 电视剧《大秦赋》最近很火!于是我用Python抓取了“相关数据”,发现了这些秘密............

    前言 最近,最火的电视剧莫过于<大秦赋了>,自12月1日开播后,收获了不错的口碑.然而随着电视剧的跟新,该剧在网上引起了激烈的讨论,不仅口碑急剧下滑,颇有高开低走的趋势,同时该剧的评分也由 ...

  5. python豆瓣影评_使用Python抓取豆瓣影评数据的方法

    抓取豆瓣影评评分 正常的抓取 分析请求的url https://movie.douban.com/subject/26322642/comments?start=20&limit=20& ...

  6. python爬取qq音乐歌曲链接为什么播放不出来_手把手教你使用Python抓取QQ音乐数据(第一弹)...

    原标题:手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. ...

  7. 手把手教你使用Python抓取QQ音乐数据(第四弹)(文末赠书)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 千里之行,始于足下. [一.项目目 ...

  8. 如何用python抓取qq音乐_手把手教你使用Python抓取QQ音乐数据(第三弹)-阿里云开发者社区...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  9. python音乐的数据抓取与分析_手把手教你使用Python抓取QQ音乐数据!

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

最新文章

  1. 安装TensorFlow时出现ERROR: Cannot uninstall ‘wrapt‘问题的解决方案
  2. java runtime shell_java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现...
  3. 【人脸识别终结者】多伦多大学反人脸识别,身份欺骗成功率达99.5%
  4. 名词解释 JDK JRE JVM
  5. 执行transact-sql语句或批处理时发生异常_DAY5-step6 Python异常处理:try, raise,except, finally...
  6. yum安装virtualbox_CentOS7安装virtualbox
  7. Snake算法与遥感影像应用,python matlab对比
  8. 搭建测试环境如何配置软件,软件测试环境的搭建(Windows版)
  9. 华为一员工猝死出租屋 警方初步排除他杀
  10. android 二级联动列表,仿eleme点餐页面
  11. 公众号后台管理系统php开发,微信公众平台开发管理后台开发
  12. 李沐动手学深度学习V2-NLP文本预处理和代码实现
  13. 程序员如何提升自己的代码质量?
  14. Framework学习(五)应用程序启动过程
  15. 11.14 尚品汇 day01 脚手架,路由命名,路由跳转,传参,props传参,重写push,replace
  16. 新学期——学习计划大挑战
  17. verilog一二三段式状态机的标准区别和示例
  18. 第十二届蓝桥杯软件类模拟赛python程序设计 第二期(6)平行四边形面积
  19. OTN光传送网(Optical Transport Network)什么是OTN
  20. IRC扫盲——你可以不会玩QQ,但不能不会IRC!

热门文章

  1. 嗨购严选是什么,公司模式制度怎么样?
  2. cvte2019校园招聘嵌入式编程题1详解
  3. go 语言中 struct 中 json 是代表什么意思
  4. golang GO111MODULE是用来干什么的?
  5. 移动端基础及响应式布局
  6. extjs源码分析-(Ext.urlDecode/urlEncode)
  7. Revit 2019: Essential Training for Architecture (Metric) Revit 2019:建筑基本培训(公制) Lynda课程中文字幕
  8. pandas数据处理——时间差计算
  9. 基于用户的电视节目推荐算法实例
  10. 嵌入式ARM开发板学习方法步骤