1. 怎麼查看python api文檔
1、dir函數式可以查看對象的屬性,使用方法很簡單,舉str類型為例,在Python命令窗口輸入 dir(str) 即可查看str的屬性
2、如何查看對象某個屬性的幫助文檔 ?如要查看str的split屬性,可以用__doc__, 使用方法為print(str.split.__doc__)
3、查看對象的某個屬性還可以用help函數,使用方法為help(str.split)
4、查看某個對象的詳細文檔用help,
如查看str類型的詳細文檔可以用help(str)。如果文檔的內容很多,help會列出全部文檔的一部分,並在左下角提示「-- More
--」,按Enter鍵盤會顯示更多的信息,要回到命令行交互模式可按Ctrl + C。
2. 如何通過python調用新浪微博的API
1.下載SDK
使用python調用API的話,首先要去下一個Python的SDK,sinaweibopy
連接地址在此: http://michaelliao.github.com/sinaweibopy/
可以使用pip很快的導入,github連接里的wiki也有入門的使用方法,很容易看懂。
2.理解新浪微博的授權機制
在調用API之前,首先要搞懂什麼叫OAuth 2,即新浪微博的授權機制,
連接在此: http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
3.在新浪微博注冊應用
每個人都可以通過新浪微博開發者平台注冊自己的應用,我注冊的是站內應用。注冊後會為每個應用分配唯一的app key 和 app secret,這在上文提到的授權機制中需要用到,相當與每個應用的標示吧。
至此,我們可以嘗試寫代碼調用新浪微博的API啦。
4.簡單的調用API實例
參考了往上很多資料和文檔,寫了一個簡單的調用過程。
# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = 」
APP_SECRET = 」
CALLBACK_URL = 」
#這個是設置回調地址,必須與那個」高級信息「里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 獲取URL參數code:
code = 『『
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,類似abc123xyz456
expires_in = r.expires_in # token過期的UNIX時間:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
print client.friendships.friends.bilateral.ids.get(uid = 12345678)
通過以上的代碼,我實現了調用相互關注API的調用,即查找與某個id的用戶相互關注的人的列表。
其中,APP_KEY和APP_SECRET就是前文中分配給每個應用的信息,回調地址在每個應用的高級信息中可以看到,需要自己設置,不過隨便設置一下就好
比較惡心的是code的獲取,我一開始看sinaweibopy的文檔的時候也沒弄懂是什麼意思,如上面的代碼所示,url得到的是一個授權的網址,我們通過
webbrowser.open_new(url)
這行代碼打開瀏覽器跳轉到授權的界面,然後觀察所在界面的網址,會顯示大概如下一樣的格式:
http://apps.weibo.com/sayarywei?code=
看到了嗎?
問號後面有一個code=……的一個東西,把等號後面的字元串拷貝下來賦給code就可以了,但是每次運行程序是code不是一成不變的,也就是說每次都
要有這么一個手動獲取的過程,我覺得很麻煩,以後自己再研究一下,實現自動獲取code就好了。如果能有哪位大神告訴我,感激不盡~
好了,得到正確的code之後就可以完成授權認證,也就可以調用微博的API啦,至於如何在Python下調用,我拷貝一下sinaweibopy上的介紹:
首先查看新浪微博API文檔,例如:
API:statuses/user_timeline
請求格式:GET
請求參數:
source:string,採用OAuth授權方式不需要此參數,其他授權方式為必填參數,數值為應用的AppKey?。
access_token:string,採用OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權後獲得。
uid:int64,需要查詢的用戶ID。
screen_name:string,需要查詢的用戶昵稱。
(其它可選參數略)
調用方法:將API的「/」變為「.」,根據請求格式是GET或POST,調用get ()或post()並傳入關鍵字參數,但不包括source和access_token參數:
r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text
若為POST調用,則示例代碼如下:
r = client.statuses.update.post(status=u'測試OAuth 2.0發微博')
若需要上傳文件,傳入file-like object參數,示例代碼如下:
f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'測試OAuth 2.0帶圖片發微博', pic=f)
f.close() # APIClient不會自動關閉文件,需要手動關閉
請注意:上傳的文件必須是file-like object,不能是str,因為無法區分一個str是文件還是欄位。可以通過StringIO把一個str包裝成file-like object。
3. ffmpeg-python中文文檔(三)——API參考
表示上游節點的傳出邊緣;可以用來創建更多的下游節點。
輸入文件 URL (ffmpeg -i option)
在一個 ffmpeg 命令行中包含所有給定的輸出
輸出文件地址
不詢問就覆蓋輸出文件(ffmpeg -y 選項)
在指定文件上運行 ffprobe 並返回輸出的 JSON 表示。
構建用於調用 ffmpeg 的命令行。
構建要傳遞給 ffmpeg 的命令行參數。
為提供的節點圖調用 ffmpeg 。
參數
為提供的節點圖非同步調用 ffmpeg。
參數
例子
運行和流式輸入:
運行並捕獲輸出:
使用 numpy 逐幀處理視頻:
通過重新混合顏色通道來調整視頻輸入幀。
連接音頻和視頻流,將它們一個接一個地連接在一起。
篩選器適用於同步視頻和音頻流的片段。所有段必須具有每種類型的相同數量的流,這也是輸出時的流數。
參數
裁剪輸入視頻。
參數
在輸入圖像上繪制一個彩色框。
參數
使用 libfreetype 庫從視頻頂部的指定文件中繪制文本字元串或文本。
要啟用此過濾器的編譯,您需要使用 --enable-libfreetype . 要啟用默認字體回退和字體選項,您需要使用 --enable-libfontconfig . 要啟用 text_shaping 選項,您需要使用 --enable-libfribidi
參數
· box - 用於使用背景顏色在文本周圍繪制一個框。該值必須是 1(啟用)或 0(禁用)。框的默認值為 0。
· boxborderw – 使用 boxcolor 設置要在框周圍繪制的邊框寬度。boxborderw 的默認值為 0。
· boxcolor - 用於在文本周圍繪制框的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。 boxcolor 的默認值為「white」。
· line_spacing – 使用 box 設置要在框周圍繪制的邊框的行間距(以像素為單位)。line_spacing 的默認值為 0。
· borderw – 使用邊框顏色設置要在文本周圍繪制的邊框寬度。邊框的默認值為 0。
· bordercolor – 設置用於在文本周圍繪制邊框的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。邊框顏色的默認值為「黑色」。
· 擴展- 選擇文本的擴展方式。可以是 none、strftime(已棄用)或 normal(默認)。有關詳細信息,請參閱下面的文本擴展部分。
· basetime – 設置計數的開始時間。值以微秒為單位。僅適用於已棄用的 strftime 擴展模式。要在正常擴展模式下進行模擬,請使用 pts 函數,提供開始時間(以秒為單位)作為第二個參數。
· fix_bounds - 如果為 true,檢查並修復文本坐標以避免剪切。
· fontcolor - 用於繪制字體的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。fontcolor 的默認值為「黑色」。
· fontcolor_expr – 與文本相同的擴展字元串以獲得動態字體顏色值。默認情況下,此選項具有空值並且不被處理。設置此選項時,它會覆蓋 fontcolor 選項。
· font - 用於繪制文本的字體系列。默認情況下無。
· fontfile – 用於繪制文本的字體文件。必須包含路徑。如果禁用了 fontconfig 支持,則此參數是必需的。
· alpha – 繪制應用 alpha 混合的文本。該值可以是介於 0.0 和 1.0 之間的數字。該表達式也接受相同的變數 x、y。默認值為 1。請參閱 fontcolor_expr。
· fontsize – 用於繪制文本的字體大小。字體大小的默認值為 16。
· text_shaping – 如果設置為 1,則在繪制文本之前嘗試對文本進行整形(例如,反轉從右到左文本的順序並加入阿拉伯字元)。否則,只需按照給定的方式繪制文本。默認為 1(如果支持)。
· ft_load_flags –用於載入字體的標志。這些標志映射了 libfreetype 支持的相應標志,並且是以下值的組合:
默認值為「默認」。有關更多信息,請參閱 FT_LOAD_* libfreetype 標志的文檔。
· shadowcolor – 用於在已繪制文本後面繪制陰影的顏色。有關此選項的語法,請查看 ffmpeg-utils 手冊中的「顏色」部分。shadowcolor 的默認值為「黑色」。
· shadowx – 文本陰影位置相對於文本位置的 x 偏移量。它可以是正值或負值。默認值為「0」。
· shadowy – 文本陰影位置相對於文本位置的 y 偏移量。它可以是正值或負值。默認值為「0」。
· start_number – n/frame_num 變數的起始幀號。默認值為「0」。
· tabsize - 用於呈現選項卡的空格數大小。默認值為 4。
· timecode – 以「hh:mm:ss[:;.]ff」格式設置初始時間碼表示。它可以帶或不帶文本參數使用。必須指定 timecode_rate 選項。
· rate – 設置時間碼幀率(僅限時間碼)。
· timecode_rate – 的別名rate。
· r – 的別名rate。
· tc24hmax – 如果設置為 1,時間碼選項的輸出將在 24 小時左右回繞。默認值為 0(禁用)。
· text -- 要繪制的文本字元串。文本必須是 UTF-8 編碼字元序列。如果沒有使用參數 textfile 指定文件,則此參數是必需的。
· textfile – 包含要繪制的文本的文本文件。文本必須是 UTF-8 編碼字元序列。如果沒有使用參數 text 指定文本字元串,則此參數是必需的。如果同時指定了 text 和 textfile,則會引發錯誤。
· reload – 如果設置為 1,文本文件將在每一幀之前重新載入。一定要自動更新它,否則它可能會被部分讀取,甚至失敗。
· x – 指定將在視頻幀內繪制文本的偏移量的表達式。它相對於輸出圖像的左邊框。默認值為「0」。
· y - 指定將在視頻幀內繪制文本的偏移量的表達式。它相對於輸出圖像的上邊框。默認值為「0」。有關接受的常量和函數的列表,請參見下文。
表達式常量:
x 和 y 的參數是包含以下常量和函數的表達式:
· dar:輸入顯示縱橫比,同 (w / h) * sar
· hsub:水平色度子樣本值。例如,對於像素格式「yuv422p」,hsub 為 2,vsub 為 1。
· vsub:垂直色度子樣本值。例如,對於像素格式「yuv422p」,hsub 為 2,vsub 為 1。
· line_h:每個文本行的高度
· lh:別名為line_h.
· main_h:輸入高度
· h: 的別名main_h。
· H: 的別名main_h。
· main_w:輸入寬度
· w: 的別名main_w。
· W: 的別名main_w。
· ascent:對於所有渲染的字形,從基線到用於放置字形輪廓點的最高/上網格坐標的最大距離。這是一個正值,因為網格的 Y 軸向上。
· max_glyph_a: 的別名ascent。
· 下降:對於所有渲染的字形,從基線到用於放置字形輪廓點的最低網格坐標的最大距離。由於網格的方向,這是一個負值,Y 軸向上。
· max_glyph_d: 的別名descent。
· max_glyph_h:最大字形高度,即渲染文本中包含的所有字形的最大高度,相當於上升-下降。
· max_glyph_w:最大字形寬度,即渲染文本中包含的所有字形的最大寬度。
· n:輸入幀數,從0開始
· rand(min, max):返回一個包含在 min 和 max 之間的隨機數
· sar:輸入樣本縱橫比。
· t:時間戳,以秒為單位,如果輸入時間戳未知,則為 NAN
· text_h:渲染文本的高度
· th: 的別名text_h。
· text_w:渲染文本的寬度
· tw: 的別名text_w。
· x:繪制文本的 x 偏移坐標。
· y:繪制文本的 y 偏移坐標。
這些參數允許 x 和 y 表達式相互引用,因此您可以例如指定 y=x/dar.
應用自定義過濾器。
filter通常由更高級別的過濾器函數使用,例如 hflip ,但如果缺少過濾器實現 ffmpeg-python ,您可以 filter 直接調用以 ffmpeg-python 將過濾器名稱和參數逐字傳遞給 ffmpeg 。
參數
函數名稱後綴_是為了避免與標准 pythonfilter 函數混淆。
例子
替代名稱 filter ,以免與內置的 pythonfilter 運算符沖突。
應用具有一個或多個輸出的自定義過濾器。
這 filter 與過濾器可以產生多個輸出相同。
要引用輸出流,請使用 .stream 運算符或括弧簡寫:
例子
水平翻轉輸入視頻。
修改輸入的色調和/或飽和度。
參數
將一個視頻疊加在另一個視頻之上。
參數
更改輸入幀的 PTS(表示時間戳)。
FFmpeg里有兩種時間戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。 顧名思義,前者是解碼的時間,後者是顯示的時間。
參數
修剪輸入,使輸出包含輸入的一個連續子部分。
參數
垂直翻轉輸入視頻。
應用縮放和平移效果。
參數