zoukankan      html  css  js  c++  java
  • selenium 免费下载qq vip音乐


    1
    from selenium import webdriver 2 from selenium.webdriver.common.by import By 3 from selenium.webdriver.support import expected_conditions as EC 4 from selenium.webdriver.support.wait import WebDriverWait 5 import time 6 from selenium.webdriver.common.action_chains import ActionChains 7 from urllib import request 8 driver = webdriver.Firefox() 9 songname = input("输入你的歌曲名字:") 10 def get_url(): 11 qq_url = 'https://y.qq.com/' 12 driver.get(qq_url) 13 driver.implicitly_wait(10) 14 # 等待10 sec时间加载,加载、确定弹出框 15 WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.CLASS_NAME,'popup__close'))) 16 # 关闭弹出框 17 driver.find_element_by_class_name('popup__icon_close').click() 18 time.sleep(5) 19 #鼠标悬停到搜索框 20 above = driver.find_element_by_class_name('search_input__input') 21 # 鼠标移动到搜索框 22 ActionChains(driver).move_to_element(above).perform() 23 # 在搜索框里输入“说好不哭” ,search_input__input 搜索框的class 24 driver.find_element_by_class_name('search_input__input').send_keys(songname) 25 # 点击搜索按钮 26 driver.find_element_by_xpath('//button[@class="search_input__btn"]').click() 27 # 找到 28 song_url = driver.find_element_by_class_name('songlist__songname_txt').find_element_by_tag_name('a').get_attribute('href') 29 print('下载的歌曲URL地址为:' ,song_url) 30 return song_url 31 def down_song(song_url): 32 js = 'window.open("http://www.douqq.com/qqmusic/");' 33 driver.execute_script(js) 34 # QQ_handle = driver.current_window_handle 35 # print("当前操作的窗口为:", QQ_handle) 36 handles = driver.window_handles 37 # print('当前浏览器的所有窗口,', handles) 38 driver.switch_to.window(handles[-1]) 39 driver.find_element_by_id('mid').send_keys(song_url) 40 time.sleep(10) 41 driver.find_element_by_id('sub').click() 42 time.sleep(10) 43 mp3_url = driver.find_element_by_id('m4a').text 44 if mp3_url: 45 print('正在下载-{}-,请耐心等待。。。'.format(songname)) 46 request.urlretrieve(mp3_url,'{}.mp3'.format(songname)) 47 print('下载完成,THKS') 48 else: 49 print('没有获取到,需要重新获取') 50 driver.quit() 51 52 if __name__ == '__main__': 53 song_url = get_url() 54 down_song(song_url)
  • 相关阅读:
    在navgationController中添加UISegmentedControl
    Static Const
    .pch头文件的添加
    数据库设计一对一多对多
    数据库链接
    File增删改查
    线程
    售票情景解读synchronized和Lock两种锁的区别
    [Spring Boot]使用自定义注解统一请求返回值
    JAVA希尔排序代码
  • 原文地址:https://www.cnblogs.com/eddycomeon/p/11811773.html
Copyright © 2011-2022 走看看