Scraping infogreffe

Bonjour,
Je suis actuellement en stage et je dois vérifier les données de 2500 clients environs.
Ayant des bases en python je souhaiterais réaliser un script me permettant de scraper ces informations sur infogreffe (SIRET ainsi que l’adresse du siège social). J’ai pour information de départ le nom de l’entreprise ainsi que son code postal. Je vais donc devoir passer par le formulaire du site pour accéder aux informations que je veux récupérer. (j’ai essayé de passer par l’url mais celle ci contient une partie du numéro de SIRET, numéro que je n’ai pas donc impossible d’utiliser l’url). Je voulais donc quelques conseils sur les packages que je pourrais utiliser pour pouvoir scraper en passant par un formulaire et sans utiliser d’url.
Merci d’avance,
Maël

Salut,

  • requests pour envoyer tes requêtes (ouvre le network tag de ton navigateur quand tu fais ta recherche à la main et recopie la requête envoyée dans ton script python)
  • beautifulsoup pour charger la page de réponse que tu donnera requests et rechercher les données qui t’intéressent dans la page
  • csv pour écrire tes données traitées dans un beau fichier formatté

C’est pas déjà en open data? Te fatigue pas à scraper.
Regarde par là. Par contre le fichier compressé fait 800Mo. Il va falloir ne pas faire de bétises si tu ne veux pas mettre ton pc à terre.

J’ai trouvé mieux encore. API Sirene - api.gouv.fr

Bonjour,
Merci pour vos réponses
Pour extraire les données de l’API je suppose qu’il faut coder un script qui va réaliser une requete pour chaque entreprise?

Bonjour
s’il s’agit de scraping, pourquoi pas utiliser justements des logiciels ou extension de web scraping ?
l’url et le nom d’entreprise, tous les deux marchent

Il y a https://www.pappers.fr/ qui a simplifié les choses

Bonjour,
Sachant que ma recherche se fait au cas par cas et est approximative (le nom des entreprises peut etre mal orthographié), je n’ai pas trouvé d’extensions de scraping permettant de le faire.

Pappers à l’air effectivement plus simple à scraper que les autres sites, seulement il y a l’air d’avoir une protection assez réactive contre le scraping (je me suis fait ban une minute juste en analysant les requetes xhr)

Hello @Mael_Arr,

Payant, mais Pappers propose un API.

Sinon peut-être du côté de societe.ninja, mais ils ne proposent pas d’api pour le moment.
Sur quelques tests c’était plutôt efficace pour retrouver des sociétés même avec un nom commercial.
Voici aussi le Git de leur projet :

1 « J'aime »

Dans ce cas là, télécharge la db et fais ton script

Hello !

Pour ma part, lorsqu’il s’agit de siréniser à partir du nom + code postal j’utilise:

Societeinfo

  • Pour 2500 sociétés tu en auras pour 200€
  • Sachant que la donnée est enrichie avec SIREN, chiffre d’affaire, effectif, réseaux sociaux, site web … c’est rentable

Scraping google

  • Script python pour scraper google avec la requête {name} {postcode} societe.com/societe
  • Le premier résultat est à 80% du temps l’url de la société sur societe.com, et l’URL contient le SIREN
  • Libre à toi de scraper la page associée pour récupérer la donnée qu’il te faut, ou la page sur pappers ou via l’API SIRENE
  • Pour scraper google facilement, je te suggère scraperapi.com ou serpapi.com (plus cher que le premier mais plus performant)

Pour ma part je n’ai jamais utilisé l’api sirene pour sireniser les sociétés, je ne peux pas te dire ce que ça vaut :slight_smile:

1 « J'aime »

Bonjour, merci pour vos réponses.
J’ai codé entre temps un petit script pour scraper à partir du siren sur l’inpi (j’ai réussi à trouver 500 siren dans différentes db de mon entreprise). pour les 2000 restantes, j’ai essayé de les scraper via l’url de societe.com comme tu me l’as conseillé, mais je me fait bloquer assez vite par google qui me renvoie l’erreur 429 (alors que je n’ai fait aucune boucle dans mon script). J’ai rajouté un user agent pour palier à ce problème et ça à l’air de fonctionner pour le moment.