scraping_avec_beautifulsoup
<markdown> # 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:
 </markdown>
scraping_avec_beautifulsoup.txt · Dernière modification : de joseph
