python使用selenium爬取联想官网驱动(一):获取遍历各驱动的下载网址然后wget命令试验下载
由于初期学习,所以先拿一个型号的产品驱动试验。
(1)以下为在联想某型号产品获取相关驱动下载的网址,然后使用wget获取,如果爬虫项目较大,使用多线程下载(由于初期学习所以先用wget,能够实现下载就ok,下载的地址没有规定,所以自动下载到此爬虫文件的根目录)
试验所爬取的网址:lenovo试验原址
from selenium import webdriver
import time
driver =webdriver.Chrome()
driver.maximize_window()
driver.get('https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-l-series-laptops/thinkpad-l440/downloads/driver-list/')
driver.find_element_by_xpath('//*[@id="app-psp-downloads"]/section/div[2]/div[3]/div[1]/p/span[2]').click()
time.sleep(5)
elements_1 = len(driver.find_elements_by_class_name('level-0'))
for element_1 in range(elements_1):
driver.find_elements_by_class_name('level-0')[element_1].click()
time.sleep(1)
button = driver.find_elements_by_xpath('//*[@class="list-group-item col-percent-80 cursor-pointer"]')
for i in range(len(button)):
button = driver.find_elements_by_xpath('//*[@class="list-group-item col-percent-80 cursor-pointer"]')[i]
driver.execute_script("$(arguments[0]).click()", button)
time.sleep(1)
for link in driver.find_elements_by_class_name('can-download__link'):
print(link.get_attribute("href"))
driver.close()
执行上方代码,可以发现当前页面内所有驱动的网址已经全部爬取下来,接下来就是开始下载。
import wget
from selenium import webdriver
import time
driver =webdriver.Chrome()
driver.maximize_window()
driver.get('https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-l-series-laptops/thinkpad-l440/downloads/driver-list/')
driver.find_element_by_xpath('//*[@id="app-psp-downloads"]/section/div[2]/div[3]/div[1]/p/span[2]').click()
time.sleep(5)
elements_1 = len(driver.find_elements_by_class_name('level-0'))
for element_1 in range(elements_1):
driver.find_elements_by_class_name('level-0')[element_1].click()
time.sleep(1)
button = driver.find_elements_by_xpath('//*[@class="list-group-item col-percent-80 cursor-pointer"]')
for i in range(len(button)):
button = driver.find_elements_by_xpath('//*[@class="list-group-item col-percent-80 cursor-pointer"]')[i]
driver.execute_script("$(arguments[0]).click()", button)
time.sleep(1)
for link in driver.find_elements_by_class_name('can-download__link'):
wget.download(link.get_attribute("href"))
driver.close()