Bonjour à tous,
je m'entraine sur Python avec BeautifulSoup et j'aimerai que mon robot puisse parcourir cet URL : https://www.nyrr.org/charities-clubs.../club-listing/
et cliquer sur les clubs par exemple le premier club = https://www.nyrr.org/charities-clubs...listing/3runpl
puis à l'intérieur de ces pages, j'aimerai récupérer toutes les balises 'p' qui sont dans balise 'div class = contactbox'
J'ai cru comprendre qu'il fallait utiliser une Regex pour pouvoir parcourir un domaine en boucle mais malgré la documentation et les vidéos, je bloque sur sa création avec le re.compile :s
Pourriez vous me donner une piste pour avancer s'il vous plait ? Merci d'avance.
Voici mon petit bout de code qui arrive à récupérer cette information pour une page unique.
Il y a des packages inutilisés, je les prévois pour des exercices plus tard après avoir lu de la doc à leurs sujets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 from bs4 import BeautifulSoup from urllib.request import Request, urlopen from urllib.error import HTTPError from urllib.error import URLError from datetime import datetime import re import random import csv t1 = datetime.now() req = Request('https://www.nyrr.org/charities-clubs-and-community/local-clubs/club-listing/3runpl', headers = {'User-Agent': 'Mozilla/5.0'}) html = urlopen(req) bs = BeautifulSoup(html.read(), 'html.parser') for string in bs.find('div', {'class':'contactbox'}).findAll('p'): print(string.get_text()) t2 = datetime.now() total = t2 -t1 print('le récolte a duré exactement', total, 'plutôt rapide non ?')
Partager