python調(diào)用api實(shí)例講解
我們?cè)谧鲎詣?dòng)化運(yùn)維的時(shí)候,經(jīng)常需要調(diào)用api中的接口,不過很多人不知道具體的調(diào)用方法,在學(xué)習(xí)python中的requests庫后,我們就可以很輕松的實(shí)現(xiàn)了。
1、說明
api接口調(diào)用是指使用python的requests庫進(jìn)行訪問,基本上是get或post請(qǐng)求,有些接口會(huì)加密,然后必須使用對(duì)方提供給我們的公鑰加密或解密,配上相應(yīng)的參數(shù)進(jìn)行訪問,我們所需要的數(shù)據(jù)在請(qǐng)求后的返回結(jié)果中,所看到的基本上都是json格式的解析,所以請(qǐng)求后可以使用requests自帶的json函數(shù)進(jìn)行解析,然后提取所需的數(shù)據(jù),訪問一次就能得到一個(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)頁圖片:
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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中將\\uxxxx轉(zhuǎn)換為Unicode字符串的方法
這篇文章主要介紹了python中將\\uxxxx轉(zhuǎn)換為Unicode字符串的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
在Django的session中使用User對(duì)象的方法
這篇文章主要介紹了在Django的session中使用User對(duì)象的方法,Django是眾Python web開發(fā)框架中人氣最高的一個(gè),需要的朋友可以參考下2015-07-07
寫了個(gè)監(jiān)控nginx進(jìn)程的Python腳本
接上一文用iptables讓SSH服務(wù)對(duì)陌生人說不。還是有點(diǎn)擔(dān)心這個(gè)學(xué)期內(nèi),nginx可能會(huì)因?yàn)橄到y(tǒng)各種原因而出現(xiàn)異常退出,導(dǎo)致Web服務(wù)暫停。所以,又來了一個(gè)方案2012-05-05
Python flask與fastapi性能測(cè)試方法介紹
這篇文章主要介紹了Python flask與fastapi性能測(cè)試方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-12-12
Python環(huán)境配置實(shí)現(xiàn)pip加速過程解析
這篇文章主要介紹了Python環(huán)境配置實(shí)現(xiàn)pip加速過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

