Подтвердить что ты не робот

Сохранение ответа от запросов к файлу

Я использую requests для загрузки pdf в API. Он хранится как "ответ" ниже. Я пытаюсь написать это превосходству.

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
4b9b3361

Ответ 1

Как уже указывал Питер:

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/

Ответ 2

Вы можете использовать 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()

Ответ 3

Как мне сделать это для настройки входа в систему?