pyton爬虫之request的POST方法

'''对化妆品生产许可信息管理系统相关数据爬取
动态加载数据
1.主页url并没有数据,而是通过HXR加载的数据,获取对应的post请求url,拿到爬取数据的所有的id
2.获取详情页面的post请求url
3数据获取
'''

import requests
import json
if __name__ == '__main__':
    #UA伪装
    headers ={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'
    }
    #批量获取企业的id
    url_post = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsList'   #首页的url
    url_xq = 'http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById'        #详情页的url
    json_ids = [] #获取的所有的id
    all_data_list = [] # 存储所有的数据信息
    for page in range(1,5): #获取前5页的数据 5*15
        page = str(page)
        #封装参数
        data = {
            'on': 'true',
            'page': page,
            'pageSize': '15',
            'productName': '',
            'conditionType': '1',
            'applyname': '',
            'applysn': ''
        }
        #发起请求
        response_ids = requests.post(url=url_post,headers=headers,data=data).json()

        for dic in response_ids['list']:
            json_ids.append(dic['ID'])
        # print(json_ids)
    #根据所有的id获取企业详情数据
    for id in json_ids:
        data = {
            'id':id
        }
        data_json = requests.post(url=url_xq,headers=headers,data=data).json()
        # print(data_json)
        all_data_list.append(data_json)
    #持久化存储
    fp = open('./alldatajson.json','w',encoding='utf-8')
    json.dump(all_data_list,fp=fp,ensure_ascii=False)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值