2015-06-29 11 views
6

Używam requests do przesyłania pliku PDF do interfejsu API. Jest przechowywany jako "odpowiedź" poniżej. Próbuję to napisać do programu Excel.Zapisywanie odpowiedzi z żądań do pliku

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() 

Dostaję błąd:

file.write(response) 
TypeError: expected a character buffer object 
+4

[ 'file.write (response.content)'] (http://docs.python-requests.org/en/latest/user/quickstart/#binary-response-content) . –

+0

To było to. Dziękuję Ci. –

+1

Nigdy wcześniej nie używałam 'próśb'. Właśnie przeczytałem dokumentację (c: –

Odpowiedz

4

Jak już zauważył Peter:

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 

Można też sprawdzić r.text.

również: http://docs.python-requests.org/en/latest/user/quickstart/

+1

I don Myślę, że odpowiedziałeś na pytanie OP, jak to zapisać w pliku, a wszystko co zrobiłeś, to "r" – pauljohn32