Python下载嵌入到Pag中的PDF

2024-09-27 04:29:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个链接:

我想下载嵌入的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()

此外,我也曾试图找到pdf的原始链接,但也没用。在

内部链接:


Tags: comhttppdf链接wwwtrackfilealb
1条回答
网友
1楼 · 发布于 2024-09-27 04:29:23

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

代码:

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

当我调用这个函数时:

^{pr2}$

这就是输出:

>>> 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:\

enter image description here


查看具体的个人资料:

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

它禁用Chrome PDF Viewer插件(在网页中嵌入pdf),将默认下载文件夹设置为在download_folder变量中定义的文件夹,并设置Chrome不允许自动打开任何扩展。在

之后,当您打开所谓的“内部链接”时,您的Web驱动程序将自动将.pdf文件下载到download_folder。在

相关问题 更多 >

    热门问题