【问题标题】:Writing a script to download files from a website? (Python, Selenium(?)) [closed]编写脚本从网站下载文件? (Python,Selenium(?))[关闭]
【发布时间】:2016-05-13 01:39:48
【问题描述】:

我正在做一个网络抓取项目,并想编写一个脚本来从以下site 下载多个文件。 我想基本上写一个程序来更改表格中的日期和其他一些设置,然后单击下载游戏表按钮并下载相应的表。这个站点没有 API,所以我认为我们实际上必须单击按钮才能启动必要的 HTTP 请求来下载文件。

我目前正在研究在 Python 中使用 Selenium Bindings 来实现这一点。 (虽然我也会考虑使用其他语言的解决方案,尤其是 Ruby)这对 Selenium 可行吗?在哪里可以找到有关使用脚本自动下载文件的信息?

【问题讨论】:

标签: python ruby selenium web-scraping webautomation


【解决方案1】:

您可以通过 python selenium 来完成(下载:pip install selenium)。 首先从 selenium 导入 webdriver。
要使用 chrome webdriver,您必须先从 here 下载它,或者您可以简单地使用 firefox webdriver。

from selenium import webdriver
browser=webdriver.Firefox() 

然后您需要找到可以使用以下任何一种方法的字段。如果您获得字段的 id 或名称,那么您必须使用 x-path 会很好

element = browser.find_element_by_id("field-id")
element = browser.find_element_by_name("fieldname")
element = browser.find_element_by_xpath("//input[@id='field-id']")

如果您能找到它,那么现在您可以使用

将输入发送到该字段
element.send_keys("Whatever you need to write")

对所有输入字段执行此操作 然后同样找到提交按钮

element=browser.find_element_by_id("Submit")

点击按钮

element.click()

要获取详细信息,请从here.now 阅读文档,因为您想多次执行此操作,请尝试将其包含在函数中。如果有很多文件,您可以对其进行多线程处理。 希望对您有所帮助。

【讨论】:

  • 非常感谢您的详细回复。我要试试这个,看看它会把我带到哪里。所以我想它就像点击按钮一样简单?我想我可能需要在浏览器中接受下载或进行一些额外的编程以确保下载顺利进行
  • 请在stackoverflow.com/a/35031322/2329061找到下载文件的示例代码。
  • @user3037691 .点击下载链接后,如果链接提供了可下载的,下载将在浏览器本身开始。如果提示手动保存,您可以尝试上面评论中提到的代码。跨度>
猜你喜欢
  • 1970-01-01
  • 2015-09-28
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
  • 2021-07-27
  • 2019-05-09
相关资源
最近更新 更多