当前位置: 首页 > 知识库问答 >
问题:

Python下载PDF嵌入页面

贲文景
2023-03-14
  • http://www.equibase.com/premium/chartemb.cfm?track=alb&racedate=06/17/2002&cy=usa&rn=1

我想下载嵌入式PDF。

我尝试了urllibrequest的普通方法,但它们都不起作用。

import urllib2

url = "http://www.equibase.com/premium/chartEmb.cfm?track=ALB&raceDate=06/17/2002&cy=USA&rn=1"
response = urllib2.urlopen(url)
file = open("document.pdf", 'wb')
file.write(response.read())
file.close()
    null

共有1个答案

穆鸿波
2023-03-14

Selenium与特定的ChromeProfile一起使用,您可以使用以下代码下载嵌入式pdfs:

代码:

def download_pdf(lnk):

    from selenium import webdriver
    from time import sleep

    options = webdriver.ChromeOptions()

    download_folder = "C:\\"    

    profile = {"plugins.plugins_list": [{"enabled": False,
                                         "name": "Chrome PDF Viewer"}],
               "download.default_directory": download_folder,
               "download.extensions_to_open": ""}

    options.add_experimental_option("prefs", profile)

    print("Downloading file from link: {}".format(lnk))

    driver = webdriver.Chrome(chrome_options = options)
    driver.get(lnk)

    filename = lnk.split("/")[4].split(".cfm")[0]
    print("File: {}".format(filename))

    print("Status: Download Complete.")
    print("Folder: {}".format(download_folder))

    driver.close()

当我调用这个函数时:

download_pdf("http://www.equibase.com/premium/eqbPDFChartPlus.cfm?RACE=1&BorP=P&TID=ALB&CTRY=USA&DT=06/17/2002&DAY=D&STYLE=EQB")
>>> Downloading file from link: http://www.equibase.com/premium/eqbPDFChartPlus.cfm?RACE=1&BorP=P&TID=ALB&CTRY=USA&DT=06/17/2002&DAY=D&STYLE=EQB
>>> File: eqbPDFChartPlus
>>> Status: Download Complete.
>>> Folder: C:\
profile = {"plugins.plugins_list": [{"enabled": False,
                                     "name": "Chrome PDF Viewer"}],
           "download.default_directory": download_folder,
           "download.extensions_to_open": ""}
 类似资料:
  • 我想下载pdf并将其存储在本地计算机上的文件夹中。以下是我想下载的pdf的链接https://ascopubs.org/doi/pdfdirect/10.1200/JCO.2018.77.8738 我用python selenium和urllib编写了代码,但都未能下载。

  • A)有没有一种方法可以下载在Chrome中使用脚本显式打开的PDF?B)有没有一种方法可以从打开的网页中提取URL,然后反馈到程序中下载?

  • 问题内容: 我的脚本必须使用一组凭据登录到站点,然后在某些下拉菜单中导航以选择报告。选择报告后,将弹出一个新窗口,必须在其中调整参数以生成报告。设置完参数后,相同的弹出窗口将以生成的PDF格式刷新报告,并使用Chrome的内置PDF查看器显示。我的印象是,将某些选项传递给webdriver会禁用此PDF查看器,而只是下载文件,但是PDF查看器仍在显示,不会自动下载任何内容。我当然会丢失某些东西,或

  • 我试着跟随以前关于这个主题的帖子,比如这些(帖子1,帖子2),但我仍然被困住了。 所以,在这一点上,Chrome仍然显示PDF查看器,尽管我之前禁用了它。没有下载任何东西,所以我想知道我是否需要提供另一行代码或其他东西。 在Windows 10上使用Selenium版本3.141.0、Python 3.6.4、Chrome webdriver 2.45。

  • 我正在实现一个ASP api来完成所有Docusign api流(获取登录信息,获取令牌,发送要签名的信封,下载信封文档)。现在我试图在浏览器中显示一个下载的文档,该文档是空白的。我正在从docusign接收文档字节内容,并试图将其呈现在iframe中。 docusign发送的PDF内容如下 更新 如果文档超过1页,则可以看到所有页面,全部为空白······

  • 所以我有这个凭证,用户可以下载,但之后,它需要重定向到另一个页面。什么是解决这个问题的好方法,并且在大多数浏览器上是兼容的?