Outils pour utilisateurs

Outils du site


scraping_avec_beautifulsoup

Scraping de ce wiki avec Python + BeautifulSoup

Exemple : ce code de 9 lignes va récupérer toutes les pages de ce wiki associées au tag securite, parser leur page https://ressources.labomedia.org/lapageenquestion?do=edit (ça marche même si l'on est pas loggé, en lecture seule), repérer le textarea, et enregistrer le contenu dans un fichier .txt local :

import urllib.request, bs4
soup = bs4.BeautifulSoup(urllib.request.urlopen('https://ressources.labomedia.org/tag/?do=showtag&tag=securite').read().decode(), 'html.parser')
for link in soup.find_all('a', {"class": "wikilink1"}):
    if 'tag' not in link['class']:
        href = link['href']
        with open(link['title'] + '.txt', 'w', encoding='utf8') as f:
            print('https://ressources.labomedia.org%s?do=edit' % href)
            soup2 = bs4.BeautifulSoup(urllib.request.urlopen('https://ressources.labomedia.org%s?do=edit' % href).read().decode(), 'html.parser')
            f.write(soup2.find('textarea', {"name": "wikitext"}).contents[0].replace('\r\n', '\n').lstrip('\n'))

Résultat en quelques secondes:

scraping_avec_beautifulsoup.txt · Dernière modification: 2019/11/29 15:03 par joseph