pythonとseleniumでオーディオファイルを取得

1742 ワード

子供の教科書のmp 3ファイルのダウンロードには小さなプログラムを書く必要があります.
# -*- coding:utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import traceback  # 3.x
import time

#       ,   
subject_codes = ['54448098', '', '54441648', '54461192', '89473317', '89473311']
file_count = 0

#     
# http://mp3.bookmall.com.cn/
# http://chromedriver.storage.googleapis.com/index.html
# https://pypi.org/project/selenium/

def get_mp3(code):
    driver = webdriver.Chrome()  #       
    try:
        driver.get('http://mp3.bookmall.com.cn/')  #   get  
        time.sleep(6)  #         ,          
        input_element = driver.find_element_by_id('code')  #     

        # input.send_keys('54441364')  #      
        input_element.clear()
        input_element.send_keys(code)  #      
        time.sleep(1)
        input_element.send_keys(Keys.RETURN)  #     
        time.sleep(6)
        driver.find_element_by_id('accpet').click()

        time.sleep(6)  #         ,          
        element_list = driver.find_elements_by_class_name('download')
        for element in element_list:
            global file_count
            file_count = file_count + 1
            print(file_count)
            element.click();
            time.sleep(30)

    except:
        traceback.print_exc()
        return False
    finally:
        driver.close()  #        
        return True


def main():
    for code in subject_codes:
        if get_mp3(code):
            time.sleep(30)
        else:
            for i in range(3):
                if get_mp3(code):
                    break


if __name__ == '__main__':
    main()