Webscraping,boucle avec BeautifulSoup
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.
Code:
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 ?') |
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.