Comment faire en sorte que le programme télécharge des chansons par lots comme un humain? Python explore les chansons payantes

Préface

Le texte et les images de cet article proviennent d'Internet et sont uniquement à des fins d'apprentissage et de communication. Ils n'ont aucun usage commercial. Les droits d'auteur appartiennent à l'auteur original. Si vous avez des questions, veuillez nous contacter pour traitement.

Aujourd'hui, je vais vous apprendre un outil de robot d'exploration automatisé sélénium

sélénium

Selenium est un outil de test automatisé pour le Web. Il a été initialement développé pour les tests automatisés de sites Web. Il est comme un assistant de bouton pour jouer à des jeux, qui peut être automatiquement utilisé selon des commandes spécifiées.

L'outil de test Selenium contrôle directement le navigateur, tout comme un utilisateur réel opère. Selenium peut laisser le navigateur charger automatiquement la page selon les instructions, obtenir les données requises, même prendre une capture d'écran de la page, ou déterminer si certaines actions sur le site Web ont eu lieu.

Objectifs du projet

L'objectif d'aujourd'hui est d'explorer les chansons payantes

Adresse de la victime

http://tool.liumingye.cn/music/?page=homePage

Commençons par vous montrer l'effet

 

Code du robot d'exploration

Outil d'importation

temps d'importation
demandes d'importation
depuis le webdriver d'importation de sélénium
depuis selenium.webdriver.chrome.options Options d'importation

Analyser la page Web

Ouvrez les outils de développement F12, quels que soient les trois ou sept vingt et un, commençons par une analyse à l'aveugle ~

Oh, il y a en fait une interface de données dans ceci, ou après la demande, alors nous examinerons son paramètre de données, il y a des changements

driver = webdriver.Chrome (executable_path = 'chromedriver.exe', options = chrome_options)
# key_world = input ('Veuillez saisir le nom du chanteur:')
driver.get ('http://tool.liumingye.cn/music/?page=searchPage')
driver.find_element_by_css_selector ('# input'). send_keys ('张杰')
driver.find_element_by_css_selector ('# bouton de recherche: nth-child (2) i'). click ()
télécharger def (nom, url):
    filename = 'C: \\ Users \\ Administrator \\ Desktop \\ 音乐 \\' + name + '.mp3'
    response = requests.get (url = url)
    avec open (filename, mode = 'wb') comme f:
        f.write (response.content)

def drop_down ():
    "" "Simuler une personne pour faire défiler vers le bas et parcourir la page" ""
    pour x dans la plage (1, 20, 10):
        temps de sommeil (0,5)
        j = x / 10
        js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight *% f'% j
        driver.execute_script (js)


lis = driver.find_elements_by_css_selector ('# player li')
f = 0
pour li en lis:
    f + = 1
    name = li.find_element_by_css_selector ('. aplayer-list-title'). text
    li.find_element_by_css_selector ('. aplayer-list-download'). click ()
    down_url = driver.find_element_by_css_selector ('# m-download> div> div> div.modal-body> div: nth-child (6)> div.input-group-append> a.btn.btn-outline-secondary.download ') .get_attribute (' href ')
    driver.find_element_by_css_selector ('# m-download> div> div> div.modal-header> bouton'). cliquez ()
    # time.sleep (1)
    télécharger (nom, down_url)
    print (nom, down_url)
    si f% 10 == 0:
        menu déroulant()

Après avoir exécuté le code, l'effet est le suivant

Avez-vous appris? Cliquez ici pour obtenir le code complet! ! ! ! !

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43881394/article/details/109050092
conseillé
Classement