python - 如何使用python从页面下载文件

标签 python selenium web-scraping python-requests

我无法从此页面下载 txt 文件:https://www.ceps.cz/en/all-data#RegulationEnergy (当您向下滚动并看到下载:txt、xls 和 xml 时)。

我的目标是创建将转到链接页面的抓取工具,例如单击 txt 链接并保存下载的文件。

我不确定如何解决的主要问题:

  • 该文件没有我可以调用和下载的真实链接,但该链接是使用基于过滤器和文件类型的 JS 创建的。

  • 当我为 python 使用 requests 库并调用包含所有 header 的链接时,它只是将我重定向到 https://www.ceps.cz/en/all-data .

尝试过的方法:

  • 使用 ParseHub 等抓取工具下载链接未按预期工作。但是这个刮刀是最接近我想要得到的。

  • 使用 requests 库连接到使用 HXR 请求用于下载文件的 header 的链接,但它只是将我重定向到 https://www.ceps.cz/en/all-data .

如果您能为这项任务提出一些解决方案,在此先感谢您。 :-)

最佳答案

您可以使用 Selenium 将此数据下载到您选择的目录;您只需要指定保存数据的目录。下面,我将把 txt 数据保存到我的桌面:

from selenium import webdriver

download_dir = '/Users/doug/Desktop/'

chrome_options = webdriver.ChromeOptions()
prefs = {'download.default_directory' : download_dir}
chrome_options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get('https://www.ceps.cz/en/all-data')

container = driver.find_element_by_class_name('download-graph-data')
button = container.find_element_by_tag_name('li')
button.click()

关于python - 如何使用python从页面下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52170647/

相关文章:

python - 如何为 mlflow 设置不同的本地目录?

python - Scrapy 没有给出手机所有评论的单独结果?

javascript - 从抓取的 HTML 中提取 Javascript 对象的正则表达式

python - 使用正则表达式 re.search 和 re.compile 的问题

python - Pandas:将一列列名转换为一列值

Python QuickSort 最大递归深度

mysql - 有没有办法将 RC Selenium 测试错误/失败记录到数据库中?

javascript - Selenium 驱动程序在 click() 后不反射(reflect)页面变化

python - 如何将 raw_input 重定向到 stderr 而不是 stdout?

javascript - Protractor - X 不是函数