Python:从用php实现的链接下载文件

Python:从用php实现的链接下载文件,python,selenium,Python,Selenium,我正在尝试从网页下载文件。 文件的链接由php:~/download.php?id=~ 可以单击链接或右键单击并在web浏览器中选择菜单“保存此文件”,下载文件 首先,我将selenium与phantomjs一起使用。通过“find_element”成功地获得了带有标记“a”的链接。我使用selenium的ActionChains执行了单击或右键单击,但它无法下载文件。通过搜索web,它看起来像是phantomjs不支持下载文件 我认为第二种方式是使用 Firefox 或 Chrome ,它看起

我正在尝试从网页下载文件。 文件的链接由
php
~/download.php?id=~

可以单击链接或右键单击并在web浏览器中选择菜单“保存此文件”,下载文件

首先,我将
selenium
phantomjs
一起使用。通过“
find_element
”成功地获得了带有标记“
a
”的链接。我使用
selenium
ActionChains
执行了单击或右键单击,但它无法下载文件。通过搜索web,它看起来像是
phantomjs
不支持下载文件

我认为第二种方式是使用<代码> Firefox 或<代码> Chrome <代码>,它看起来像支持下载文件。请给我一个建议,这条路是不是最好的。我正在

树莓皮b+
上运行程序。
非常感谢。

下载文件的最简单方法:

import urllib
url = "http://domain.com/~/download.php?id=~"
path_to_file = "/local/folder/where/you/want/to/save/file/file_name"
Python2.x

Python3.x

如果需要使用
selenium
下载文件:

火狐

urllib.urlretrieve(url, path_to_file)
urllib.request.urlretrieve(url, path_to_file)
from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
profile = FirefoxProfile ()
profile.set_preference("browser.download.folderList",2)
profile.set_preference("browser.download.manager.showWhenStarting",False)
profile.set_preference("browser.download.dir", '/download/folder/by/default')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",file_MIME_type)
driver = webdriver.Firefox(firefox_profile=profile)
from selenium import webdriver
download_dir = "/download/folder/by/default"
chrome_options = webdriver.ChromeOptions()
preferences = {"download.default_directory": download_dir ,
                      "directory_upgrade": True,
                      "safebrowsing.enabled": True }
chrome_options.add_experimental_option("prefs", preferences)
driver = webdriver.Chrome(chrome_options=chrome_options)