Bug dans mon extracteur de commentaires

Il y a des fois où on ne comprend vraiment pas ce qu’il se passe dans l’exécution d’un programme. Dans ma boucle principale, j’ai rajouté une section qui regarde s’il y a un problème avec le navigateur :

while 1:
    next_url = PageScraper(current_url)
    current_url = next_url
    if not current_url:
        driver.close()
        driver = webdriver.Firefox()
        current_url = [‘https://www.youtube.com/watch?v=…’]
        print « Le crawler est reparti! »

Or, ce qu’il s’est passé, c’est que cette partie du code s’est exécutée avant qu’il y ait une exception dans ma fonction PageScraper (autrement dit, alors que tout devait encore fonctionner). Qu’est-ce qui a bien pu se produire pour que curent_url soit nul? C’est vraiment complètement mystérieux.

Pour l’instant, je pense que je vais abandonner cette magie noire et simplement faire un bash script pour redémarrer l’ordi ainsi que mon programme automatiquement à un certain intervalle donné de temps, afin de permettre à la mémoire vive de se reposer un peu.

Pour rajouter de la robustesse, il faudrait aussi que j’essaie de faire en sorte que mon programme puisse détecter la version de YouTube (ancienne ou nouvelle) et qu’au lieu d’essayer de faire quoi que ce soit lorsque le navigateur bogue, qu’il redémarre tout au complet, en itérant le fichier de sortie.

J’ai rajouté un serveur VNC aussi (en suivant les instruction ici), pour pouvoir voir ce qui se passe à distance sans avoir à brancher un écran! Ça peut toujours être pratique, et probablement que je vais en avoir besoin de toute manière pour pouvoir faire marcher firefox sans écran physique connecté à l’ordi.