• 爬取药监总局中相关企业的详情信息


    • 爬取药监总局中相关企业的详情信息 http://scxk.nmpa.gov.cn:81/xk/
    • 需求分析
      • 确定页面中相关数据是否为动态加载
        • 相关的企业信息为动态加载
      • 通过抓包工具全局搜索定位到动态加载数据的数据包,提取到相关的url和请求参数
      • 通过对比几家企业详情页的url,发现只有请求参数id值不同
        • 可以使用同一个域名结合不同企业的id值拼接成企业详情页的url
        • 进一步判断详情页的数据是否为动态加载的
    # 爬取药监总局中相关企业的详情信息 http://scxk.nmpa.gov.cn:81/xk/
    # 其中一页的ajax请求url,翻页: http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList
    # 详情页url: http://scxk.nmpa.gov.cn:81/xk/itownet/portal/dzpz.jsp?id=ff83aff95c5541cdab5ca6e847514f88(没用上)
    # 企业ajax详情数据url: http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById
    
    
    # 爬取一页
    import requests
    
    num = int(input('请输入要采集的页面数:'))
    
    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'
    }
    url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
    for i in range(1,num+1):
        print('正在爬取第{}页的数据......'.format(i))
        # 进入界面
        data = {
            'on': 'true',
            'page': str(i),
            'pageSize': '15',
            'productName': '',
            'conditionType': '1',
            'applyname': '',
            'applysn':'',
        }
        companies_data = requests.post(url=url,headers=headers,data=data).json()
        
        # 爬取具体企业的详情信息
        msg_url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
        for company in companies_data['list']:
            data = {
                'id': company['ID']
            }
            msg_dic = requests.post(url=msg_url,headers=headers,data=data).json()
            print(msg_dic['epsName'] + ':' + msg_dic['legalPerson'])
    
  • 相关阅读:
    测试用例
    SQL/My sql
    测试报告
    postman
    Linux环境搭建及命令
    jQuery EasyUI API 中文文档 树表格(TreeGrid)
    MYSQL学习心得(十) 自定义存储过程和函数
    webBrowser
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)前言与目录
    vim括号操作(转)
  • 原文地址:https://www.cnblogs.com/straightup/p/13660028.html
Copyright © 2020-2023  润新知