在用python实现相声、评书自动下载(二)写了怎么爬所有的下载链接,那么在这篇写怎么下载。
其实代码和(一)差不多
from selenium import webdriver
from requests_html import HTMLSession
import requests
import time
import pandas as pd
data = pd.read_csv('allLinks.csv', encoding='GB18030')
driver = webdriver.Chrome()
content = data.values
lenxs = len(content)
a = 0
for i in content:
title = i[0]
link = i[1]
print(title,link)
def openDriver(url):
driver.get(url) #打开浏览器
def openXss(url,title): #下载主方法
'''
计数 1/3 2/3
'''
global a
a += 1
print(a,'/',lenxs)
openDriver(url)
time.sleep(1)
handle = driver.current_window_handle # 获取当前标签句柄
'''
获取文件名并赋值给filename
'''
# txt = driver.find_element_by_xpath('/html/body/div[6]/div[1]/div[3]/font').text
# filename = txt.split('- 下载')[0]
# print('filename:',filename)
def name(title):
name = title
return name
bt = driver.find_element_by_id('clickina').click()
handles = driver.window_handles # 获取当前所有标签句柄
for newHand in handles: # 对标签进行遍历
if newHand != handle: # 筛选新打开的标签
driver.switch_to.window(newHand) # 切换到新打开的标签
link = driver.current_url # 获取当前页面地址
print(link)
driver.close()
driver.switch_to.window(handles[0])
myfile = requests.get(link)
filename = name(title)
open(f'd:\pydownload\\{filename}.mp3', 'wb').write(myfile.content)
for i in content:
title = i[0]
link = i[1]
print(title,link)
openXss(link,title)