3

Python で OpenSubtitle API を使用して映画の字幕をダウンロードするためのソフトウェアを作成しています。

API は XML-RPC プロトコルを実装しています。API ドキュメントによると、サイト データベースから字幕をダウンロードするには、次のメソッドが使用されます。

array DownloadSubtitles( $token, array($IDSubtitleFile, $IDSubtitleFile,...) )

その出力は次のとおりです。

[data] => Array
    (
        [0] => Array
            (
                [idsubtitlefile] => 10
                [data] => MQ0KMDA6MDA6MzgsMzAwIC0tPiAwMDowMDo0MSwwMDA...
            )
        [1] => Array
            (
                [idsubtitlefile] => 20
                [data] => MQ0KMDA6MDA6MjYsMjgzIC0tPiAwMD...
            )

[idsubtitlefile] は、subtitle_id で、[data] は base64 および gzip 形式の字幕バイトです。

私が直面している問題は、字幕をダウンロードするたびに:

idsubtitlefile='513de0ea27d63b9d631d769a492d72dc'
token='a1t49trievitmjda4ija7dif44'
xmlrpclib.DownloadSubtitles(token,[(idsubtitlefile)] )

次のような結果が得られます。

[{'data': 'H4sIAAAAAAAAAwMAAAAAAAAAAAA=',\      
   'idsubtitlefile':'513de0ea27d63b9d631d769a492d72dc'}] 

ここでは、data値はbase64でエンコードされたバイナリ字幕データであると想定されていますが、どうしてこんなに小さなデータが字幕になるのでしょうか。

どういうわけか、データをサーバーからチャンクでダウンロードする必要があるか、何か不足していると思います。

4

1 に答える 1