我想下载(使用 Python 3.4)Google 专利批量下载页面 http://www.google.com/googlebooks/uspto-patents-grants-text.html 上的所有 (.zip) 文件
(我知道这相当于大量数据。)我想将所有文件在目录中保存一年[year],所以1976 1976 年的所有(每周)文件。我想将它们保存到我的 Python 脚本所在的目录中。
我尝试过使用urllib.request
包,但是我可以足够远地获取http文本,而不是如何“单击”文件来下载它。
import urllib.request
url = 'http://www.google.com/googlebooks/uspto-patents-grants-text.html'
savename = 'google_patent_urltext'
urllib.request.urlretrieve(url, savename )
非常感谢您的帮助。
最佳答案
据我了解,您正在寻找一个命令来模拟文件上的左键单击并自动下载它。如果是这样,您可以使用 Selenium。 像这样:
from selenium import webdriver
from selenium.webdriver.firefox.firefox_profile import FirefoxProfile
profile = FirefoxProfile ()
profile.set_preference("browser.download.folderList",2)
profile.set_preference("browser.download.manager.showWhenStarting",False)
profile.set_preference("browser.download.dir", 'D:\\') #choose folder to download to
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",'application/octet-stream')
driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://www.google.com/googlebooks/uspto-patents-grants-text.html#2015')
filename = driver.find_element_by_xpath('//a[contains(text(),"ipg150106.zip")]') #use loop to list all zip files
filename.click()
已更新!应使用“application/octet-stream”zip-mime 类型而不是“application/zip”。现在应该可以了:)
关于python - 使用 Python 3.4 从 Google Patents 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30323081/