编写脚本从网站下载文件? (Python,Selenium(?))

时间:2016-02-03 17:50:19

标签: python ruby selenium web-scraping webautomation

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

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

1 个答案:

答案 0 :(得分:2)

你可以通过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读取文档。现在,因为您想要多次执行此操作,请尝试将其封装在function中。如果有多个文件,您可以多线程化它。 希望它有所帮助。