我正在开发一个网络抓取项目,并希望编写一个脚本来从以下site下载多个文件。 我想基本上编写一个程序来更改表单中的日期和一些其他设置,然后单击下载游戏表按钮并下载相应的表。这个站点没有API,所以我认为我们实际上必须单击按钮才能启动必要的HTTP请求来下载文件。
我目前正在使用Python中的Selenium Bindings来实现这一目标。 (虽然我也会考虑使用其他语言的解决方案,特别是Ruby)Selenium可以实现吗?在哪里可以找到有关使用脚本自动下载文件的信息?
答案 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中。如果有多个文件,您可以多线程化它。 希望它有所帮助。