精华内容
下载资源
问答
  • python3 接口获取数据

    万次阅读 多人点赞 2018-12-06 13:59:12
    第一次了解到“通过接口获取数据”是在做一个项目时需要存储大量数据,而通过接口是传输大量数据最好的选择,因为它比导出csv文件,再保存至数据库的方法要更快捷、更方便。自己对接口学习了一段时间,对学到的东西...

    第一次了解到“通过接口获取数据”是在做一个项目时需要存储大量数据,而通过接口是传输大量数据最好的选择,因为它比导出csv文件,再保存至数据库的方法要更快捷、更方便。自己对接口学习了一段时间,对学到的东西做个记录。

    那么接口是什么?
    接口分为两种:程序内部接口系统对外接口1

    程序内部接口 指的是,在程序内部的各方法、各模块之间进行信息传递和交互的函数、变量等都可以称为“接口”。
    系统对外接口 指的是,当你从别的网站或者服务器上获取数据或资源时,不会直接得到数据库,而是别人给你提供一个url,让你通过这个url就可以直接使用他写好的方法,达到数据共享的目的,获得相关的数据和信息等。比如app、网址等在进行数据处理的时候都是通过接口来进行调用的。

    这里主要记录一下http接口。http接口遵循http协议,通过接口发送http请求报文,请求报文以key-value格式发送,然后会接收到http响应报文,一般响应报文都是json数据,通过解析json数据,便可以得到我们想要的数据。

    获取json数据一般有两种方式:getpost 2
    get方法 :将请求数据附在url之后(就是把数据放置在HTTP协议头中),并显示在地址栏中。

    以?分割URL和传输数据,多个参数用&连接。
    例如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

    post方法 :把请求数据放置在http包的包体中。请求数据并不会出现在地址栏中。

    下面是get方法实例:

    import requests
    import json
    
    url = 'https://api.github.com/events'
    
    r = requests.get(url)
    result = json.loads(r.text)
    print(result)
    

    python中有专门处理json数据的库——json库。json规定的字符集是UTF-8,因此字符串必须使用双引号 “ ”,键值也需要用双引号 “ ”

    简要介绍一下常用json函数的含义。

    编解码json数据:
    json.loads() 解码json数据,将字符串类型json数据转化为字典dict类型
    json.dumps() 编码json数据,将dict类型转化为 str 类型的 json 数据
    读写json文件:
    json.load() 读取json文件的 json数据
    json.dump() 把json数据写出为 json文件

    下面是post方法实例:

    url = 'http://httpbin.org/post'
    s = json.dumps({'key1': 'value1', 'key2': 'value2'})
    r = requests.post(url, data=s)
    print(r.text)
    

    此时的输出结果便是我们传入的变量 s 。

    这就是通过接口获取数据,一开始我认为会有很多行代码来实现,其实没有那么复杂,只要获取到数据就可以了,具体怎么存到数据库后面会继续更新。hhh~~


    1. 接口测试及常用接口测试工具 https://www.cnblogs.com/feng0815/p/7509541.html ↩︎

    2. 关于HTTP协议,一篇就够了 https://www.cnblogs.com/ranyonsue/p/5984001.html ↩︎

    展开全文
  • python调用接口数据

    千次阅读 2018-10-31 13:46:07
    Python调用接口,在日常开发过程中大家经常会遇到调用接口的问题。 GET: # -*- coding: utf-8 -*- import urllib,urllib2 import json def get_disease_item(): url = " url" headers = { 'Authorization-Str...

    Python的调用接口,在日常开发过程中大家经常会遇到调用接口的问题。

    GET:

    # -*- coding: utf-8 -*-
    import urllib,urllib2
    import json
    def get_disease_item():
        url = " url"
        headers = { 'Authorization-Str':'#'}
        data = None
        req = urllib2.Request(url, data, headers)
        response = urllib2.urlopen(req)
        html = response.read()+"\n"
        return json.loads(html)

    print get_disease_item()

    展开全文
  • python 调用接口

    千次阅读 2019-03-19 21:10:00
    这个比较乱,抽口再修改...现在两部分比较重要:1 自动获取数据 , 2处理excel的过程. 明白接口的过程.传入参数  https://open.youzan.com/v3/apicenter/doc-api-main/1/2/salesman/youzan.salesman.trades.get...

    这个比较乱,抽口再修改一下。

     

    工作需要调有赞API的接口数据,  返回数据. 进行数据处理

    现在两部分比较重要:1 自动获取数据  ,  2处理excel的过程.

    1. 明白接口的过程.传入参数

        https://open.youzan.com/v3/apicenter/doc-api-main/1/2/salesman/youzan.salesman.trades.get 

           这个地址里面,都有 各个很细的API 过程. 例如

     

        导入 外部API  。例如获得分销用户的方法的API . 

      

     

     

      用户的api 文档

    from app.external.yz.api_util import YzApiUtil
    
    
    class YzUserApi(YzApiUtil):
        """
        有赞会员Api
        """
    
        def get_follower(self, fans_id=None, weixin_openid=None):
            """
            根据微信粉丝用户的 weixin_openid 或 fans_id 获取用户信息
            :param fans_id:
            :param weixin_openid:
            :return:
            """
    
            params = {}
    
            if fans_id:
                params['fans_id'] = fans_id
            elif weixin_openid:
                params['weixin_openid'] = weixin_openid
            else:
                return None
    
            data = self._invoke('youzan.users.weixin.follower.get', '3.0.0', 'GET', params=params)
    
            if 'response' in data:
                return data['response']['user']
            else:
                return None
    
        def get_customer(self, fans_id=None, mobile=None, youzan_account=None):
            """
            获取客户详情
            :param fans_id:
            :param mobile:
            :param youzan_account:
            :return:
            """
    
            params = {}
    
            if fans_id:
                params['account'] = '{"account_type":"FansID","account_id":"' + str(fans_id) + '"}'
            elif mobile:
                params['account'] = '{"account_type":"Mobile","account_id":"' + str(mobile) + '"}'
            elif youzan_account:
                params['account'] = '{"account_type":"YouZanAccount","account_id":"' + str(youzan_account) + '"}'
            else:
                return None
    
            data = self._invoke('youzan.scrm.customer.get', '3.1.0', 'GET', params=params)
    
            if 'response' in data:
                return data['response']
            else:
                return None
    
        def get_openid(self, mobile):
            """
            使用手机号获取用户openId(获取的商家自有粉丝的openId。fans_type =1时)
            :param mobile: 会员手机号
            :return:
            {
              "open_id": "oTtVis-xiMQjlBME5Xi4Bc_twuqA",
              "union_id": "oqY0-wpXFmBsPI2IrTUYx3DigfjY"
            }
            """
    
            params = {
                'mobile': mobile,
            }
    
            data = self._invoke('youzan.user.weixin.openid.get', '3.0.0', 'GET', params=params)
    
            if 'response' in data:
                return data['response']
            else:
                return None
    
        def import_user(self):
            """
            导入三方帐号信息,用于App开店帐号一键授权
            :doc: https://open.youzan.com/v3/apicenter/doc-api-main/1/2/account_import/youzan.user.platform.import
            """
    
            params = {
                'country_code': '+86',
                'mobile': '17392940060',
                'open_user_id': '17392940060',
            }
    
            data = self._invoke('youzan.user.platform.import', '1.0.0', 'GET', params=params)
    
            if 'response' in data:
                return data['response']
            else:
                return None

     

     

      2  项目中接口服务

      测试接口通的数据代码:

    from app.external.yz.user_api import YzUserApi
    from app.model.yz_user import YzUser
    from app.utils.x_logger import logger
    
    
    class YzUserTestService:
        """
        有赞用户Test Service
        """


    # 这是测试看是否通
    def __init__(self): self.yz_api_user = YzUserApi() def get_user(self, mobile): user = self.yz_api_user.get_customer(mobile=mobile) logger.info(user) return user


    #主程序执行,理论上下面的这些不要写在里面。 执行数据保存
    if __name__ == '__main__': result_user = YzUserTestService().get_user("18874189337")
      # 用户传入参数 yz_user
    = YzUser() yz_user.name = result_user['name'] yz_user.telephone = result_user['mobile'] yz_user.save() a = 1

     

      

     3  保存mysql 数据库表里

     

     

     

     

    在mabao51数据库里建好同样数据结构的表

     

    from app import db
    
    
    class YzUser(db.Model):
        # 自定义表名:
        __tablename__ = 'yz_user'
        id = db.Column(db.BigInteger, primary_key=True)
        name = db.Column(db.String(50), nullable=False, default='')
        telephone = db.Column(db.String(20), default='')
    
        def save(self):
            db.session.add(self)
            db.session.commit()
    
    
    if __name__ == '__main__':
        db.create_all()
        # test = YzUser.query.get(1)
    
        a = 1

     

    转载于:https://www.cnblogs.com/sakura3/p/10561389.html

    展开全文
  • Python 通过调用接口获取公交信息

    千次阅读 2016-05-03 09:53:04
    # -*- coding: utf-8 -*- import sys, urllib, urllib2, json city=urllib.quote(sys.argv[1]); url = 'http://apis.baidu.com/xiaota/bus_lines/buses_lines?city=%s&bus=%s&direction=%s'%(city,sys.ar
    # -*- coding: utf-8 -*-
    import sys, urllib, urllib2, json

    city=urllib.quote(sys.argv[1]);

    url = 'http://apis.baidu.com/xiaota/bus_lines/buses_lines?city=%s&bus=%s&direction=%s'%(city,sys.argv[2],sys.argv[3])

    print url

    req = urllib2.Request(url)

    req.add_header("apikey", "2f5da4b87cbd02a5f8be1189db99b6a8")

    resp = urllib2.urlopen(req)
    content = resp.read()
    if(content):
        print(content)

    print "\n"
    busStation = json.loads(content)
    print busStation.keys()
    print busStation['data'].keys()
    print busStation['data']['stations']


    for bus in busStation['data']['stations']:
            print bus['stateName']
    展开全文
  • 首先简单说下接口测试,现在常用的2种接口就是http api和rpc协议的接口,今天主要说:http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报文一般是json串; 接口协议:...
  • 最近忙活一个小项目,我的任务是通过某接口调用一些数据,一条条调用肯定是慢了,所以我写了个爬虫。 python实现 import json import requests if __name__ == '__main__': i=20200701 dt = {} for j in range(0,...
  • tushare提供了股票基金等很多数据接口python调用是最好方法,因为tushare系统是基于python开发的。 注册用户使用链接:https://tushare.pro/register?reg=266769 下面例子可以调用tushare股票列表数据: #-*-...
  • 阿里官方API:... #!/usr/bin/env python # coding=utf-8 from aliyunsdkcore import client from aliyunsdkslb.request.v20140515
  • python selenium 获取接口数据

    千次阅读 2020-06-01 16:35:34
    python selenium 获取接口数据。 selenium没有直接提供查询的函数,但是可以通过webdriver提供的API查询,使用的函数是Network.getResponseBody webdriver提供的API文档:...
  • python接口数据传递与调用

    千次阅读 2018-06-20 11:28:26
    import requests import unittest import json from pubulic_way.get_token import getSession class testlogin(unittest.TestCase): def test_getIdentify(self): '''调用test_listCollectInfoByCredi...
  • import pandas as pd ...f = open(r’E:\TS\huawei\deal_data_0729\T01_0730_B_模型输入数据_v1\from_to_data.csv’) OD_org = pd.read_csv(f) OD_org.columns = [‘from’,‘x1’,‘y1’,‘to’,‘x2...
  • python 实现elk接口获取数据

    千次阅读 2018-08-29 17:16:32
    [root@ctum2A0703016 ~]# cat jiaoyihao.py.../usr/bin/python2.7 -- coding:utf-8 -- from datetime import datetimefrom elasticsearch import Elasticsearchimport timeimport datetimeimport sysimport jsonimpo...
  • python调用C语言接口

    千次阅读 2019-10-09 06:02:55
    python调用C语言接口 注:本文所有示例介绍基于linux平台 在底层开发中,一般是使用C或者C++,但是有时候为了开发效率或者在写测试脚本的时候,会经常使用到python,所以这就涉及到一个问题,用C/C++写的底层库,...
  • python 调用webserver接口请求数据

    千次阅读 2017-11-09 20:10:05
    主要接口调用如下,具体实现看具体需求。 import suds from suds.client import Client client = Client(set_client) try: result = client.service.getMemberList(ParamsJson = str(ParamsJson)) except ...
  • 万得-python接口-获取数据

    万次阅读 2017-05-04 17:02:21
    from WindPy import w #from datetime import * w.start();...# 定义打印输出函数,用来展示数据使用 def printpy(outdata): if outdata.ErrorCode!=0: print('error code:'+str(outdata.ErrorCode)+
  • 1. python模块 import cv2 import numpy as np import sys def f(path): img = cv2.imread(path,0) height,width = img.shape size = np.random.randint(1,6) return height,width,size if __name__ == '__...
  • python调用zabbix api接口实时展示数据

    千次阅读 2017-09-11 12:26:39
    python调用zabbix api接口实时展示数据 准备自已做一个运维管理平台,其中的监控部分,打算调用zabbix api接口来进行展示。 经过思考之后,计划获取如下内容:  1、 获得认证密钥  2、 获取zabbix所有的主机组 ...
  • Python 调用JSON接口实例

    千次阅读 2017-07-06 16:51:41
    假如我们知道豆瓣读书的API接口,https://api.douban.com/v2/book/1220563 想要调用JSON接口...import urllib2#若果只需要获取一个接口数据 url = r'https://api.douban.com/v2/book/1220563'#访问网页 response = u
  • python调用webservice接口

    千次阅读 2018-12-10 18:56:34
    #from suds.client import Client #该模块也可以调用webservice接口,但是不是很稳定 from zeep import Client #建议使用该模块 url = "http://****?wsdl" #?wsdl为必填项 client = Client(url) #打印出...
  • Python调用接口的几种方式

    千次阅读 2018-11-19 13:25:00
    2.urllib(python3) from urllib import request, parse url = 'https://api.github.com/user/repos' data = parse.urlencode(body).encode('utf-8') req = request.Request(url,data = data,headers = {} ) ...
  • python项目中从接口获取数据并存入本地数据库首先用postman测试接口根据请求方式将数据存入数据库中 首先用postman测试接口 通过url,选择相应的请求方式,头部,数据格式,点击send看能否获取数据 根据请求方式将...
  • Python调用webservice接口

    千次阅读 2019-09-17 14:51:41
    from suds.client import Client import xml.etree.ElementTree as ET url = ...client = Client(url) #print(client) #可以显示所有能调用接口名称 #组成XML xmldata = '<R...
  • python获取接口数据,写入文件

    千次阅读 2017-10-16 14:28:44
    python获取接口数据,写入文件以下是代码:import types import urllib2 import jsonduan =”————————–” #在控制台断行区别的利用urllib2获取网络数据def registerUrl(): try: url =”...
  • 1.在项目下新建文件token.yaml文件,然后调用登录接口 #!/usr/bin/env python # -*- coding:utf-8 -*- # 用pip3命令安装 import requests from ruamel import yaml import json def test_loginToGetToken(): host...
  • Python调用java接口

    千次阅读 2017-03-10 18:58:02
    python requests模块的get方法请求拿到java提供的接口中的东西(接口是返回A类信息)  re=requests.get(re_url)  process_res=json.loads((re.text)) 若得到的是类的信息的话(在python中,获得的东西放到...
  • Java 调用 python接口

    万次阅读 2018-03-06 10:55:23
    最近在做项目的时候,需要java 调用 python 接口,在网上找了一些方法,但是总碰到一些问题,索性将网上的方法和自己的理解总结一下,希望对各位博友有所帮助,也请各位大神不吝赐教。 一:创建环境 Python 环境 ...
  • python 调用企查查接口平台

    千次阅读 2019-12-06 10:09:35
    开始是在国家企业信息公示系统中查询,由于查询数据量过大,后改用从企查查接口平台,通过接口获取企业信息。 二、代码如下: import requests import time import hashlib import json # 请求参数 appkey = ...
  • Python调用IDM批量下载GOCI数据

    千次阅读 2020-01-28 14:09:50
    Python调用IDM批量下载GOCI数据
  • 调用第三方接口获取数据写入数据库

    万次阅读 热门讨论 2018-10-17 11:48:10
    调用路径:controller→service 第三方接口:http://xx.xxx.com:9905/api/list?transtime=20181017105600&token=abcdefghijklmn 请求参数:{"data":"{\"xxx\":\"\",\"xx\":\"\",\"xxxx\":\...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,093
精华内容 40,437
关键字:

python调用接口获取数据

python 订阅