J’utilise l’apps web scraper, j’ai suivi le très bon Tuto : Comment scraper et crawler un site web sans programmation ?
de Gabin Desserprit, tuto #71371
Je recommande,
Je n’arrive pas cependant à scraper les N° de tel de l’annuaire
Hello,
Je ne connais pas ton outil, mais générallement les outils de scraping automatisé ont du mal dès qu’il y a des cas particulier, des appels AJAX etc.
J’ai regardé vite fait ton site, ça m’avais pas l’air compliqué, alors je t’ai fait le script vite fait en Python
Cadeau !
import requests
import csv
from bs4 import BeautifulSoup
# for testing only
limit = 10
base_url = 'https://www.pole-scs.org/'
resp = requests.get('{}{}'.format(base_url, 'membres/get_list_results.php?&category=tous&departement=tous&ssa=tous&metier=tous'))
soup = BeautifulSoup(resp.text, 'html.parser')
companies = soup.find_all("span", attrs={"data-idadherent":True})
rows = []
for company in companies[:limit]:
print('Processing company_id: {}'.format(company))
resp2 = requests.get('{}/membres/get_info_adherent.php?id={}'.format(base_url, company['data-idadherent']))
soup = BeautifulSoup(resp2.text, 'html.parser')
rows.append({
'nom' : soup.find('div', class_='nom').text,
'address' : soup.find('div', class_='adresse').text,
'website' : soup.find('div', class_='website').text,
'phone' : soup.find('div', class_='phone').text
})
with open('companies.csv', 'w') as csvfile:
fieldnames = ['nom', 'address', 'website', 'phone']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in rows:
writer.writerow(row)
Pour le faire tourner il te faut Python 3+ Download Python | Python.org.
Ensuite tu installe requests / BeautifulSoup avec pip
pip install requests
pip install beautifulsoup4
J’ai limité a 10 le nombre de boites que ça récupère, enlève ça pour tout récupérer.
J’ai installé Python, mais je n’arrive pas à ouvrir PIP,
La réalité est que je ne suis pas un développeur soft, mais un Marketer. Je suis pret à acheter la prestation, je veux dire le résultat qui est le fichier csv