爬虫练习:使用requests模块 爬取化妆品生产许可信息管理系统服务平台

地址:http://scxk.nmpa.gov.cn:81/xk/

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/9/10 21:32
# @Author : aqiong
# @Site : 
# @File : nationNMPA.py
# @Software: PyCharm
#国家
#url = http://scxk.nmpa.gov.cn:81/xk/
# http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList
#http://scxk.nmpa.gov.cn:81/xk/itownet/portal/dzpz.jsp?id=ff83aff95c5541cdab5ca6e847514f88
import requests
import json
if __name__ == '__main__':
    #当刷新网页的时候,url没有变化,并且查看开发者工具,获得下面的url
    list_url = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'
    #UA伪装
    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'
    }
    all_data = []#存放所有数据
    for page in range(0,3):

        data ={
            'on': 'true',
            'page': page,
            'pageSize': '15',
            'productName':'',
            'conditionType': '1',
            'applyname':'',
            'applysn':''
        }
        response = requests.post(url=list_url,data=data,headers = headers)
        dict_obj = response.json()
       #dict_obj.get('list')是因为根据返回的response,可以看到数据都存放在key为 list 的数组中
        for item in range(0,len(dict_obj.get('list'))):
            url_id = dict_obj.get('list')[item].get('ID')#获得id,查看开发者工具可以看到是根据下面的get_url以及参数id获得响应数据
            get_url ='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'
            data = {"id":url_id}
            data_obj = requests.post(url=get_url,data=data,headers=headers).json()
            all_data.append(data_obj)

    with open('./nationNMPA.json','w',encoding='utf-8') as fp:
      json.dump(all_data,fp=fp,ensure_ascii=False)

文件链接:https://files.cnblogs.com/files/aqiong/nationNMPA.zip
存储的文件截图:

posted @ 2020-09-14 14:22  阿琼!!!!!  阅读(463)  评论(0编辑  收藏  举报