python爬虫之动态加载获取药品监督管理局

本次爬取实现使用request模块爬取国家药品监督管理局的企业信息数据并存入到Excel表格中

爬取目标网站 http://scxk.nmpa.gov.cn:81/xk/#

分析页面:
打开网页查看首页数据,上下翻页时发现网址没有发生任何变化,可知页面数据都是通过ajax动态加载出来的,并且首页中的数据只包含了企业名称、许可证编号等信息,但不包含企业的详细信息,下图为首页页面。
在这里插入图片描述
此次爬取目标是所有企业的详细信息,若要得到企业的详细信息只能通过点击超链接查看,通过F12可以看出此处请求是通过企业id获取企业详细信息
在这里插入图片描述
爬取思路:
首先准备一个list集合用于存储所有企业的id,第一次for循环遍历每一页的企业信息,获取每个企业的id存入list集合里面。第二次for循环遍历存有各个企业id的list集合,使用每个id去请求页面获取企业详细信息并存入列表,最后使用xlwt把列表中所有企业存入到表格中

代码:

由于数据量较大,此处只爬取前20页的数据

import requests
import xlwt
import json

def main():
    all_data_list = getDate()			# 获取企业详情数据
    savepath = ".\\国家药品监控管理局.xls"		# 表格路径
    saveData(all_data_list, savepath)		# 写入表格

def getDate() :
    url = "http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList"
    headers = {
            # UA伪装,模拟浏览器
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36'
    }
    id_list = []        # 存储企业的id
    all_data_list = []  # 存储所有所有的企业详情数据

    # 获取1-5页的企业id号
    for page in range(1, 21):
        page = str(page)
        data = {
           # 请求参数
            'on': 'true',
            
  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值