从没有下载链接的网页下载文件

时间:2017-03-30 04:56:27

标签: python html file

我正在尝试使用Python下载此excel文件。

http://www.bseindia.com/markets/equity/EQReports/MarketWatch.aspx?expandable=2。 excel文件位于框中的右侧,显示“Top Turnovers - All Market”。

enter image description here

我不是HTML专家,但通常我在网上嵌入的所有文件都有一个下载链接(当我右键单击下载按钮时)。这个只是excel图标的图像,没有指向下载链接的指针。但是,当您单击它时,将下载文件。这可能是一个常见的HTML功能,但我无法弄清楚文件的位置。甚至源代码也指向图标图像。

然而,我的最终目标是能够通过python下载此文件。我以为我可以使用beautifulsoup和我有限的知识,我想我需要指向一个下载链接。在这种情况下,我没有。那么还有其他方法吗?可能是我遗漏了一些基本的东西,但是如何下载这个文件的任何帮助都会很棒。我不是在寻找完整的代码甚至是工作代码。只是关于如何去做以及使用哪个包的一些指示。一旦我知道我想要使用什么,我就能找到自己的方式。

1 个答案:

答案 0 :(得分:2)

点击的任务我们可以通过javascript来完成,为此使用selenium和chromedriver。

代码:

from selenium import webdriver

chromedriver = '/usr/bin/chromedriver'
url = "http://www.bseindia.com/markets/equity/EQReports/MarketWatch.aspx?expandable=2"
chrome = webdriver.Chrome(chromedriver)
chrome.get(url)

chrome.execute_script("document.getElementById('ctl00_ContentPlaceHolder1_imgDownload').click();")