web-dev-qa-db-ja.com

リクエストからの応答をファイルに保存する

requests を使用して、pdfをAPIにアップロードしています。以下に「応答」として保存されます。私はそれをExcelに書き込もうとしています。

import requests

files = {'f': ('1.pdf', open('1.pdf', 'rb'))}
response = requests.post("https://pdftables.com/api?&format=xlsx-single",files=files)
response.raise_for_status() # ensure we notice bad responses
file = open("out.xls", "w")
file.write(response)
file.close()

エラーが発生しています:

file.write(response)
TypeError: expected a character buffer object
19
Chris J. Vargo

ピーターがすでに指摘したように:

In [1]: import requests

In [2]: r = requests.get('https://api.github.com/events')

In [3]: type(r)
Out[3]: requests.models.Response

In [4]: type(r.content)
Out[4]: str

また、r.text

また: http://docs.python-requests.org/en/latest/user/quickstart/

4
Sait

response.textを使用して、ファイルに書き込むことができます。

import requests

files = {'f': ('1.pdf', open('1.pdf', 'rb'))}
response = requests.post("https://pdftables.com/api?&format=xlsx-single",files=files)
response.raise_for_status() # ensure we notice bad responses
file = open("resp_text.txt", "w")
file.write(response.text)
file.close()
file = open("resp_content.txt", "w")
file.write(response.text)
file.close()
8
bhawnesh dipu