我們?cè)谧鲎詣?dòng)化運(yùn)維的時(shí)候,經(jīng)常需要調(diào)用api中的接口,不過(guò)很多人不知道具體的調(diào)用方法,在學(xué)習(xí)python中的requests庫(kù)后,我們就可以很輕松的實(shí)現(xiàn)了。
1、說(shuō)明
api接口調(diào)用是指使用python的requests庫(kù)進(jìn)行訪問(wèn),基本上是get或post請(qǐng)求,有些接口會(huì)加密,然后必須使用對(duì)方提供給我們的公鑰加密或解密,配上相應(yīng)的參數(shù)進(jìn)行訪問(wèn),我們所需要的數(shù)據(jù)在請(qǐng)求后的返回結(jié)果中,所看到的基本上都是json格式的解析,所以請(qǐng)求后可以使用requests自帶的json函數(shù)進(jìn)行解析,然后提取所需的數(shù)據(jù),訪問(wèn)一次就能得到一個(gè)數(shù)據(jù)。
2、實(shí)例
# 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)
#爬網(wǎng)頁(yè)圖片:
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
實(shí)例代碼擴(kuò)展:
# coding:utf-8
import json
from urlparse import parse_qs
from wsgiref.simple_server import make_server
# 定義函數(shù),參數(shù)是函數(shù)的兩個(gè)參數(shù),都是python本身定義的,默認(rèn)就行了。
def application(environ, start_response):
# 定義文件請(qǐng)求的類型和當(dāng)前請(qǐng)求成功的code
start_response('200 OK', [('Content-Type', 'text/html')])
# environ是當(dāng)前請(qǐng)求的所有數(shù)據(jù),包括Header和URL,body,這里只涉及到get
# 獲取當(dāng)前get請(qǐng)求的所有數(shù)據(jù),返回是string類型
params = parse_qs(environ['QUERY_STRING'])
# 獲取get中key為name的值
name = params.get('name', [''])[0]
no = params.get('no', [''])[0]
# 組成一個(gè)數(shù)組,數(shù)組中只有一個(gè)字典
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()
到此這篇關(guān)于python調(diào)用api實(shí)例講解的文章就介紹到這了,更多相關(guān)python 如何調(diào)用api內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python自動(dòng)化調(diào)用百度api解決驗(yàn)證碼
- python 利用百度API進(jìn)行淘寶評(píng)論關(guān)鍵詞提取
- python調(diào)用百度API實(shí)現(xiàn)人臉識(shí)別
- Python 調(diào)用API發(fā)送郵件
- python基于爬蟲(chóng)+django,打造個(gè)性化API接口
- python3 kubernetes api的使用示例
- python調(diào)用jenkinsAPI構(gòu)建jenkins,并傳遞參數(shù)的示例
- 用 Django 開(kāi)發(fā)一個(gè) Python Web API的方法步驟
- Python api構(gòu)建tensorrt加速模型的步驟詳解