我們在做自動化運維的時候,經常需要調用api中的接口,不過很多人不知道具體的調用方法,在學習python中的requests庫后,我們就可以很輕松的實現了。
api接口調用是指使用python的requests庫進行訪問,基本上是get或post請求,有些接口會加密,然后必須使用對方提供給我們的公鑰加密或解密,配上相應的參數進行訪問,我們所需要的數據在請求后的返回結果中,所看到的基本上都是json格式的解析,所以請求后可以使用requests自帶的json函數進行解析,然后提取所需的數據,訪問一次就能得到一個數據。
# encoding: utf-8 import requests import os,re import urllib.request data={"email":"251910179@qq.com", "password":"ydd4903087"} session = requests.session() session.post("http://www.renren.com/PLogin.do",data= data,verify = False) response =session.get("http://www.renren.com/410043129/profile") print (response.text) print (response.url) print (response.status_code) print (response.headers) #爬網頁圖片: requset=requests.post("http://tieba.baidu.com/p/4114581614",verify = False) r=r'src="(http://imgsrc.baidu.com/.*?\.jpg)"' #r=r'http://imgsrc.baidu.com/.+?\.jpg' mylist=re.findall(r,str(requset.text)) print (mylist) j=0 for i in mylist: urllib.request.urlretrieve(i, "C:/Users/Administrator/Desktop/img1/"+str(j)+".jpg") j+=1
實例代碼擴展:
# coding:utf-8 import json from urlparse import parse_qs from wsgiref.simple_server import make_server # 定義函數,參數是函數的兩個參數,都是python本身定義的,默認就行了。 def application(environ, start_response): # 定義文件請求的類型和當前請求成功的code start_response('200 OK', [('Content-Type', 'text/html')]) # environ是當前請求的所有數據,包括Header和URL,body,這里只涉及到get # 獲取當前get請求的所有數據,返回是string類型 params = parse_qs(environ['QUERY_STRING']) # 獲取get中key為name的值 name = params.get('name', [''])[0] no = params.get('no', [''])[0] # 組成一個數組,數組中只有一個字典 dic = {'name': name, 'no': no} return [json.dumps(dic)] if __name__ == "__main__": port = 5088 httpd = make_server("0.0.0.0", port, application) print "serving http on port {0}...".format(str(port)) httpd.serve_forever()
到此這篇關于python調用api實例講解的文章就介紹到這了,更多相關python 如何調用api內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!