繁体   English   中英

无法使用 python 请求下载 pdf

[英]Cannot download pdf using python requests

我以前能够做到这一点,但我认为该网站可能已经更新了一些东西,我不确定要改变什么。

URL = "https://www.bursamalaysia.com/misc/missftp/securities/securities_equities_2020-12-10.pdf"
r = requests.get(URL, stream = True)
with open(f"{path_to_store_pdfs}/KLSE 2020-12-10.pdf", "wb") as fd:
    fd.write(r.content)

当我现在尝试使用上面的代码下载数据时,会出现文件,但有一条错误消息显示“Adobe Reader 无法打开……因为它不是受支持的文件类型或文件已损坏”

我的主要任务是执行以下代码,该代码也不起作用并给出错误“PdfReadError: EOF marker not found”。

pdf_file = io.BytesIO(r.content)
pdf_reader = PyPDF2.PdfFileReader(pdf_file)

似乎这两个问题都与 pdf 的编码有关,但我是编码新手,不确定是否使用了不同的编码或故意损坏的编码(用于检测机器人)。 非常感谢任何帮助或指导。

检查请求状态代码。 对我来说,它给出了 503 Service Unavailable。 设置用户代理修复它:

import requests
user_agent = "scrapping_script/1.0"
headers = {'User-Agent': user_agent}
URL = "https://www.bursamalaysia.com/misc/missftp/securities/securities_equities_2020-12-10.pdf"
r = requests.get(URL, headers=headers, stream = True)
with open("KLSE 2020-12-10.pdf", "wb") as fd:
    fd.write(r.content)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM