python-scribd
ドキュメントまたはscribd
API リファレンスを見ると、ドキュメント ID または Web サイト URL を提供できるオブジェクトは、ダウンロード URL も提供できます。または、ドキュメント ID を既に持っている場合は、呼び出しget
てオブジェクトを取得し、ダウンロード URL を取得できます。
ほとんどの場合、次のDocument
メソッドを持つオブジェクトがあります。
get_download_url
(自分、doc_type='オリジナル')
ドキュメントの静的バージョンをダウンロードするために使用できるリンクを返します。
だから、あなたがどこに電話していてもget_scribd_url
、ただ電話してget_download_url
ください。
次に、結果をダウンロードするために、Python にはurllib2
(2.x) またはurllib.request
(3.x) が標準ライブラリに組み込まれているrequests
か、代わりにまたは他のサードパーティ ライブラリを使用できます。
例としてすべてをまとめると:
# do all the stuff to set up the api_key, get a `User` object, etc.
def is_document_i_want(document):
return document.author == "Me"
urls = [document.get_download_url() for document in user.all()
if is_document_i_want(document)]
for url in urls:
path = urllib.parse.urlparse(url).path
name = os.path.basename(path)
u = urllib.request.urlopen(url)
with open(name, 'w') as f:
f.write(u.read())
print('Wrote {} as {}'.format(url, name))
user.find
おそらく、代わりに のようなものを使用したいと思うでしょうuser.all
。または、ドキュメント ID を取得するコードを既に作成していて、それを変更したくない場合はuser.get
、それぞれで使用できます。
また、結果を事後フィルタリングしたい場合は、おそらく基本的なもの以外の属性を使用したいでしょう (または、それらをクエリに渡しただけです)。つまり、load
それらにアクセスする前に各ドキュメントを呼び出す必要があります (そのため関数document.load()
の先頭に追加しis_document_i_want
ます)。しかし、実際には、複雑なことは何もありません。