【python005】python批量、动态调参请求接口(已更新)

本文总结了在项目研发中遇到的接口批量请求限制问题,提供了单次和批量接口请求的代码示例,以及如何进行持久化文件合并。内容包括接口请求策略,避免被封禁的方法,并提及动态白名单等进阶机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.熟悉、梳理、总结项目研发实战中的Python开发日常使用中的问题。随着版本更新,做了一些变动,如商业化限制,取消一些语法等。
2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来!

1.背景介绍

  • API接口批量请求限制
  • API接口总量请求限制,一不小心就被封掉了,所以变着法子请求数据,没数据只能说应用可能有些花架子,没有丰富的数据内容支撑。
  • 涉及csv文件合并、接口单次请求、接口批量请求等实战总结。
  • 后续还可以引入动态白名单IP等机制

2.单次接口请求总结代码片

  • import requests
    import random
    import json
    import time
    import json
    import pandas as pd
    pd.set_option('display.max_columns', 500)
    
    url = "https://XXX.XXX.XXX.XXX/api/call"
    _pstart_num = 1
    _pend_page_size = 1000
    xdhnonce = random.randint(100000, 999999)
    app_time = int(time.time())
    
    _headers = {
         
        "Content-Type": "application/json",
        "APPLICATION_CODE": "12345678990", 
        "APPLICATION_TIME": "%d" % (app_time) , 
        "INTERFACE_CODE": "12345678990", 
        "X-DD-Nonce": "%d" % (xdhnonce)
    }
    
    _body = {
         
        "param": [
            {
         
                "key": "key_name",
                "value": "",
                "matching": "!="
            }
        ],
        "pageNum": _pstart_num,
        "pageSize": _pend_page_size
    }
    
    print( app_time )
    
    response = requests.post(url, data=json.dumps( _body ), headers=_headers, verify=False, timeout=30)
    response_json = json.loads( response.text )
    datas = response_json['data']['records']
    datas_df = pd.DataFrame( datas )
    pis_file_path = r'..\csvs\youli_%d_%d_.csv' % (_pstart_num, _pend_page_size)
    datas_df.duplicated()
    datas_df.drop_duplicates
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言析数智

创作不易,感谢客官的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值