Python 对公司api接口数据爬处理json

使用for循环逐个测试,代码如下:

import requests,json
from openpyxl import load_workbook

file = 'xxx.xlsx'
wb = load_workbook(file)                # 打开文件
ws = wb.active                          # 激活 worksheet

def data_wr(i):
        try:
            strr,strq,strt,strg=Two(ws.cell(row=i, column=2).value)
            print(ws.cell(row=i, column=2).value,strr,strq,strt,strg)
            ws.cell(row=i, column=3).value = strr 
            ws.cell(row=i, column=4).value = strq 
            ws.cell(row=i, column=5).value = strt
            ws.cell(row=i, column=6).value = strg
            wb.save(file)                           #写入
        except:
            pass

def token():
    url = "https://api.xxx.com:8112/tokenGetLogin"
    data = {'username': 'xxx', 'password': 'xxx'}
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
    }
    res = requests.post(url=url, data=data, headers=headers).text
    token = json.loads(res)['data']
    return token

def Two(ip):
    #history
    '''
    headers1={
            'Host': 'xxx.com',
            'Connection': 'close',
            'Content-Length': '26',
            'sec-ch-ua': '"Chromium";v="88", "Google Chrome";v="88", ";Not A Brand";v="99"',
            'sec-ch-ua-mobile': '?0',
            'clientIp': 'xxx',
            'requestId': 'd61b39b7a5ba456c84fbcdf4ad830ad8',
            'Accept': '*/*',
            'X-Requested-With': 'XMLHttpRequest',
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36',
            'Origin': 'https://xxx.com',
            'Sec-Fetch-Site': 'same-origin',
            'Sec-Fetch-Mode': 'cors',
            'Sec-Fetch-Dest': 'empty',
            'Referer': 'https://xxx.com/gosearch.do?searchInput=xxx',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'Cookie': 'web=A1FBE3CECA4AF3F376901CB28D40409B; username=x2o5qOL5paM; Admin-Token=1eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJ5YW5ncWIiLCJleHAiOjE2MTI1OTQ3MDcsImlhdCI6MTYxMjUwODMwN30.zm4D9MFdoL5GLMWwFMNPRkmm7sULMQj9whmHnyuSt200; loginId=xxx; typeId=1'
             }
    values={'searchInput':ip
        }
    data=urllib.parse.urlencode(values)
    session = requests.session()
    r=session.post(url='https://xxx.com/getIpInfo.do',data=data,headers=headers1)
    #print(r.text)
    '''
    strr=''
    strq=''
    strt=''
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36'
    }
    url = 'https://api.xxx.com:8112/ip/polymerization'
    head = {'token': token(), 'data': ip}
    r = requests.post(url, data=head, headers=headers)
    #print(r.text)
    try:
        s=json.loads(r.text)
        for i in range(len(s['data']['intelligence'])):
            strr+=s['data']['intelligence'][i]['category']+'/'
            strq+=str(s['data']['intelligence'][i]['desc'])+'/'
            strt+=s['data']['intelligence'][i]['active_time']+'/'
        #print(strr,strq,strt,s['data']['country_cn_name'])
        return strr,strq,strt,s['data']['country_cn_name']
    except:
        pass

if __name__ == '__main__':
    #Two('xxx')
    
    for i in range(2,3002):
        print(i)
        data_wr(i)
    

可以后续做研究例子... 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值