Есть ли способ использовать Python-запросы для доступа к веб-страницам, которые на самом деле PDF-файлы? - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь использовать запрос для загрузки содержимого некоторых веб-страниц, которые на самом деле являются PDF-файлами.

Я пробовал следующий код, но возвращаемый вывод неправильно декодируется, кажется:

link= 'http://www.pdf995.com/samples/pdf.pdf'
import requests
r = requests.get(link)
r.text

Вывод выглядит следующим образом: '% PDF-1.3 \ n% �쏢 \ n30 0 obj \ n <> \ nstream \ nx��} ݓ% � m��� \ x15S�% NU���M & O7� 㛔] ql����� + Kr� + ْ% ���/ ~ \ x00 = {Рокк \ x05 \ г \ x00 / Q88 \ x7f \ x7f ~ \ x1fܷ Oz77o \ x1f7 \ {\ x7f <~ \ x1e? C% \ Быль շ K! _b ^0o \ x083�K \ x0b \ x0b� \ x05z�E�S���? � ~ �] rb \ x10C�y�> _r� \ x10� <�K�� <��!> �� (�\ x17��� ~ �.m��] 2 \ x11�� и т. д.

Я надеялся получить html. Я также пытался с BeautifulSoup, но он также не декодирует его .. Я надеюсь, что кто-то можетпомощь. Спасибо, BR

1 Ответ

0 голосов
/ 31 октября 2019

Да;PDF-файл - это двоичный файл, а не текстовый файл, поэтому для доступа к двоичным данным следует использовать r.content вместо r.text.

С PDF-файлами нелегко работать программно;но вы можете (например) сохранить его в файл:

import requests

link = 'http://www.pdf995.com/samples/pdf.pdf'
r = requests.get(link)

with open('pdf.pdf', 'wb') as f:
    f.write(r.content)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...