爬取动态加载的数据
如何确定动态加载的数据
- 爬取企业详情http://scxk.nmpa.gov.cn:81/xk/
- 分析某一家企业的详情页数据是从哪里来的
- 右键直接在页面源代码中查找公司名称,如果找不到数据就表示是动态加载的.
怎么爬取数据
- 按照下面步骤,将所需要的url获得,请求到的url是http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList,与此同时我们也知道获得的方式是post请求。
- 然后我们点击某一个公司我们可以发现:该请求携带一个参数id:xxxxx。如http://scxk.nmpa.gov.cn:81/xk/itownet/portal/dzpz.jsp?id=b3febf42d6b64e039e5cbd2812a9539d,通过观察我们可以看到每个url除了id不同,别的都相同。所以我们可以得出获取这个公司的方法为:
1、需要知道每一家企业的id
2、每一家企业的id值应该存储在对应的请求或者响应中
下面展示一些 代码
。
- 首先需要导入requests模块
- 获取其首页的url,因为其为post请求,需要封装下面所对应的请求参数。
- 通过打开每一家公司我们可以知道每一个公司网页的url出来id不同别的都一样。所以我们需要获得id。通过解析网页我们可以知道,id存在与ata_dic[‘list’]中,所以我们可以通过解析获得id。
- 对每一家id对应的企业详情数据进行捕获(发起请求)
#要请求到每一家企业的id,对应的header里
import requests
url='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'#首页的url
data={