Sélectionner une page

Automatisez l’export des rapports Semrush avec Python sans passer par l’API

Prérequis

Python

Pour télécharger la dernière version : https://www.python.org/downloads/

Pip

Pip permet d’installer facilement des packages python en quelques lignes. Normalement pip est installé automatiquement avec la dernière version de python mais il convient de vérifier que c’est bien le cas. Pour ce faire, ouvrez le terminal et tapez :

pip --version

Si aucune erreur n’est remontée on est bon. Sinon pour installer pip c’est par ici.

Requirements.txt

Pour faire fonctionner le script, rentrez la commande suivante dans votre terminal afin d’installer tous les packages.

pip install -r requirements.txt

Selenium & Driver Chrome

Selenium permet de lancer et d’interagir automatiquement avec des navigateurs (Chrome, Firefox, etc…). Pour ce script, nous utiliserons Chrome, il vous faudra donc télécharger son driver, pour ce faire :

1) allez sur chrome://settings/help et vérifiez votre version

2) allez sur http://chromedriver.chromium.org/downloads et téléchargez la version correspondante.

3) déplacez le fichier chromedriver dans le dossier driver

Comment fonctionne le script

Configuration du script

Ouvrez semrush_report.py avec n’importe quel éditeur de texte et renseignez votre identifiant / mot de passe Semrush dans les 2 lignes suivantes.

# Input your SemRush Login here
semrush_mail ="XXXXXXXXX"
semrush_password ="XXXXXXXXXX"

Lancement du script

Ouvrez le terminal, et tapez :

cd /chemindudossier/semrush_reports-master
python semrush_report.py

La première ligne permet de se rendre dans le dossier où est situé semrush_report.py et la deuxième permet de lancer le script. Sur Mac, il faudra taper python3 au lieu de python.

Fonctionnalités

Choix des sites : il est possible de rentrer jusqu’à 5 sites différents. Pour récupérer moins de rapports, il suffit de taper none lorsqu’un site est demandé afin de passer directement au choix de la base de donnée.

Choix de la base de donnée : une fois vos sites renseignés, vous devez choisir une base de donnée parmi celles proposées. Cette dernière correspond aux 28 pays disponibles sur Semrush sur lesquelles les mots clés et positionnements sont récupérés.

Les entrées ci dessous récupèreront les rapports organiques pour les 3 sites mentionnés sur la France.

Enter your website: amazon.fr
Enter second website, (if no website type : "None") : alibaba.com
Enter third website, (if no website type : "None") : aliexpress.com
Enter fourth website, (if no website type : "None") : none
Enter yout Data Base ( ['us', 'uk', 'br', 'ca', 'au', 'fr', 'de', 'it', 'nl', 'es', 'in', 'ru', 'jp', 'tr', 'dk', 'mx', 'ar', 'pl', 'be', 'ie', 'se', 'ch', 'fi', 'hu', 'no', 'il', 'sg', 'hk']) :fr
Ok let's go !

Une fois fois le script lancé, laissez le tourner le temps qu’il récupère l’ensemble de vos rapports. A noter que ce dernier vous indique lorsqu’un rapport a été téléchargé.

script_status

 Récupération des rapports

Les rapports téléchargés se trouvent dans le dossier /excel/ dans /semrush_reports/

excel_export

Gestion des erreurs

Syntaxe de site : afin de valider l’entrée d’un site, ce dernier doit avoir une syntaxe correcte, sinon le script le détecte et demande de rentrer à nouveau un site.

notwebsite

Rapport sans résultat : si un site ne possède aucun résultat dans Semrush, le script vous en informe et ce dernier continue de télécharger les autres rapports.

noresult

Améliorations possibles

Choix du niveau du rapport : domaine racine / sous domaine / sous dossier / URL exacte. Actuellement le téléchargement se fait au niveau du domaine racine mais il est assez simple de rajouter une variable afin de choisir le niveau du rapport. Cependant, cela demande de rentrer 1 information supplémentaire par site, ce qui demande plus d’actions de la part de l’utilisateur.

Pour finir

Pourquoi ce script ?

pour aller récupérer simplement et rapidement jusqu’à 5 rapports de positionnement dans Semrush et pour faire d’autres trucs à côté.

Pourquoi ne pas passer par l’API ?

tout le monde n’a pas un compte Semrush avec accès à l’API. De plus chaque appel dans l’API coûte des sous, ici on automatise juste la connexion à Semrush et l’export des rapports.

Rien d’autre ?

nope.