首页 > 解决方案 > 有没有办法使用 python-requests 访问实际上是 pdf 的网页?

问题描述

我正在尝试使用请求来下载一些实际上是 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��}��%����\x15S�%NU���M&O7�㛔] ql������+Kr�+ْ%���/~\x00��=����{feY�T�\x05��\r�\x00�/��q�8�8 ��\x7f�\x7f�~����\x1f��O�z�7�7�o\x1f����7�\'�{��\x7f<~��\x1e? ���C�%\ByLշK����!_b^0o\x083�K\x0b\x0b�\x05z�E�S���?�~ �]rb\x10C�y�>_r�\x10 �<�K��<��!>��(�\x17���~�.m��]2\x11�� 等

我希望得到html。我也试过beautifulsoup,但它也没有解码。我希望有人能帮忙。谢谢你,BR

标签: pythonpdfpython-requests

解决方案


是的; 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)

推荐阅读