Search

8 bibliothèques Python utiles pour le référencement et comment les utiliser


Les bibliothèques Python sont un moyen amusant et accessible de commencer à apprendre et à utiliser Python pour le référencement.

Une bibliothèque Python est une collection de fonctions et de code utiles qui vous permettent d’effectuer un certain nombre de tâches sans avoir besoin d’écrire le code à partir de zéro.

Il existe plus de 100000 bibliothèques disponibles à utiliser en Python, qui peuvent être utilisées pour des fonctions allant de l’analyse de données à la création de jeux vidéo.

Dans cet article, vous trouverez plusieurs bibliothèques différentes que j’ai utilisées pour mener à bien des projets et des tâches de référencement. Ils sont tous adaptés aux débutants et vous trouverez de nombreux documents et ressources pour vous aider à démarrer.

Pourquoi les bibliothèques Python sont-elles utiles pour le référencement?

Chaque bibliothèque Python contient des fonctions et des variables de tous types (tableaux, dictionnaires, objets, etc.) qui peuvent être utilisées pour effectuer différentes tâches.

Publicité

Continuer la lecture ci-dessous

Pour le référencement, par exemple, ils peuvent être utilisés pour automatiser certaines choses, prédire les résultats et fournir des informations intelligentes.

Il est possible de travailler uniquement avec Python vanilla, mais les bibliothèques peuvent être utilisées pour rendre les tâches beaucoup plus faciles et plus rapides à écrire et à terminer.

Bibliothèques Python pour les tâches de référencement

Il existe un certain nombre de bibliothèques Python utiles pour les tâches de référencement, notamment l’analyse de données, le scraping Web et la visualisation d’informations.

Ce n’est pas une liste exhaustive, mais ce sont les bibliothèques que je trouve que j’utilise le plus à des fins de référencement.

Pandas

Pandas est une bibliothèque Python utilisée pour travailler avec des données de table. Il permet une manipulation de données de haut niveau où la structure de données clé est un DataFrame.

Les DataFrames sont similaires aux feuilles de calcul Excel, cependant, ils ne sont pas limités aux limites de lignes et d’octets et sont également beaucoup plus rapides et efficaces.

La meilleure façon de démarrer avec Pandas est de prendre un simple CSV de données (une exploration de votre site Web, par exemple) et de l’enregistrer dans Python en tant que DataFrame.

Publicité

Continuer la lecture ci-dessous

Une fois que vous l’avez stocké dans Python, vous pouvez effectuer un certain nombre de tâches d’analyse différentes, notamment l’agrégation, le pivotement et le nettoyage des données.

Par exemple, si j’ai une exploration complète de mon site Web et que je souhaite extraire uniquement les pages indexables, j’utiliserai une fonction Pandas intégrée pour inclure uniquement ces URL dans mon DataFrame.

import pandas as pd 
df = pd.read_csv('/Users/rutheverett/Documents/Folder/file_name.csv')
df.head
indexable = df[(df.indexable == True)]
indexable

Demandes

La bibliothèque suivante s’appelle Requests et est utilisée pour effectuer des requêtes HTTP en Python.

Requests utilise différentes méthodes de requête telles que GET et POST pour effectuer une requête, les résultats étant stockés dans Python.

Un exemple de ceci en action est une simple requête GET d’URL, cela imprimera le code d’état d’une page:

import requests
response = requests.get('https://www.deepcrawl.com') print(response)

Vous pouvez ensuite utiliser ce résultat pour créer une fonction de prise de décision, où un code d’état 200 signifie que la page est disponible mais un 404 signifie que la page n’est pas trouvée.

if response.status_code == 200:
    print('Success!')
elif response.status_code == 404:
    print('Not Found.')

Vous pouvez également utiliser différentes requêtes telles que des en-têtes, qui affichent des informations utiles sur la page comme le type de contenu ou le temps nécessaire pour mettre en cache la réponse.

headers = response.headers
print(headers)

response.headers['Content-Type']

Il est également possible de simuler un agent utilisateur spécifique, tel que Googlebot, afin d’extraire la réponse que ce bot spécifique verra lors de l’exploration de la page.

headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'} ua_response = requests.get('https://www.deepcrawl.com/', headers=headers) print(ua_response)

Réponse de l'agent utilisateur

Belle soupe

Beautiful Soup est une bibliothèque utilisée pour extraire des données à partir de fichiers HTML et XML.

Fait amusant: la bibliothèque BeautifulSoup a en fait été nommée d’après le poème d’Alice’s Adventures in Wonderland de Lewis Carroll.

Publicité

Continuer la lecture ci-dessous

En tant que bibliothèque, BeautifulSoup est utilisé pour donner un sens aux fichiers Web et est le plus souvent utilisé pour le scraping Web, car il peut transformer un document HTML en différents objets Python.

Par exemple, vous pouvez prendre une URL et utiliser Beautiful Soup avec la bibliothèque Requests pour extraire le titre de la page.

from bs4 import BeautifulSoup 
import requests
url="https://www.deepcrawl.com" 
req = requests.get(url) 
soup = BeautifulSoup(req.text, "html.parser")
title = soup.title print(title)

Beau titre de soupe

De plus, en utilisant la méthode find_all, BeautifulSoup vous permet d’extraire certains éléments d’une page, tels que tous les liens href de la page:

Publicité

Continuer la lecture ci-dessous

url="https://www.deepcrawl.com/knowledge/technical-seo-library/" 
req = requests.get(url) 
soup = BeautifulSoup(req.text, "html.parser")

for link in soup.find_all('a'): 
    print(link.get('href'))

Belle soupe Tous les liens

Les assembler

Ces trois bibliothèques peuvent également être utilisées ensemble, avec des requêtes utilisées pour envoyer la requête HTTP à la page à partir de laquelle nous aimerions utiliser BeautifulSoup pour extraire des informations.

Nous pouvons ensuite transformer ces données brutes en un Pandas DataFrame pour effectuer une analyse plus approfondie.

URL = 'https://www.deepcrawl.com/blog/'
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")

links = soup.find_all('a')

df = pd.DataFrame({'links':links})
df

Matplotlib et Seaborn

Matplotlib et Seaborn sont deux bibliothèques Python utilisées pour créer des visualisations.

Matplotlib vous permet de créer un certain nombre de visualisations de données différentes telles que des graphiques à barres, des graphiques linéaires, des histogrammes et même des cartes thermiques.

Publicité

Continuer la lecture ci-dessous

Par exemple, si je voulais utiliser certaines données de Google Trends pour afficher les requêtes les plus populaires sur une période de 30 jours, je pourrais créer un graphique à barres dans Matplotlib pour visualiser tout cela.

Graphique à barres Matplotlib

Seaborn, qui est basé sur Matplotlib, fournit encore plus de modèles de visualisation tels que des nuages ​​de points, des boîtes à moustaches et des graphiques de violon en plus des graphiques en lignes et en barres.

Il diffère légèrement de Matplotlib car il utilise moins de syntaxe et possède des thèmes par défaut intégrés.

Publicité

Continuer la lecture ci-dessous

Une façon dont j’ai utilisé Seaborn est de créer des graphiques linéaires afin de visualiser les accès de fichiers journaux à certains segments d’un site Web au fil du temps.

Graphique linéaire Matplotlib

sns.lineplot(x = "month", y = "log_requests_total", hue="category", data=pivot_status)
plt.show()

Cet exemple particulier prend les données d’un tableau croisé dynamique, que j’ai pu créer en Python à l’aide de la bibliothèque Pandas, et constitue une autre façon dont ces bibliothèques fonctionnent ensemble pour créer une image facile à comprendre à partir des données.

Outils publicitaires

Advertools est une bibliothèque créée par Elias Dabbas qui peut être utilisé pour aider à gérer, comprendre et prendre des décisions en fonction des données dont nous disposons en tant que professionnels du référencement et spécialistes du marketing numérique.

Publicité

Continuer la lecture ci-dessous

Analyse du plan du site

Cette bibliothèque vous permet d’effectuer un certain nombre de tâches différentes telles que le téléchargement, l’analyse et l’analyse de sitemaps XML pour extraire des modèles ou analyser la fréquence à laquelle le contenu est ajouté ou modifié.

Analyse Robots.txt

Une autre chose intéressante que vous pouvez faire avec cette bibliothèque est d’utiliser une fonction pour extraire le fichier robots.txt d’un site Web dans un DataFrame, afin de comprendre et d’analyser facilement l’ensemble de règles.

Vous pouvez également exécuter un test dans la bibliothèque afin de vérifier si un agent utilisateur particulier est capable de récupérer certaines URL ou certains chemins de dossier.

Analyse d’URL

Advertools vous permet également d’analyser et d’analyser les URL afin d’extraire des informations et de mieux comprendre les données d’analyse, SERP et d’analyse pour certains ensembles d’URL.

Vous pouvez également fractionner les URL à l’aide de la bibliothèque pour déterminer des éléments tels que le schéma HTTP utilisé, le chemin principal, des paramètres supplémentaires et des chaînes de requête.

Sélénium

Selenium est une bibliothèque Python généralement utilisée à des fins d’automatisation. Le cas d’utilisation le plus courant est le test d’applications Web.

Publicité

Continuer la lecture ci-dessous

Un exemple populaire d’automatisation d’un flux par Selenium est un script qui ouvre un navigateur et effectue un certain nombre d’étapes différentes dans une séquence définie, comme remplir des formulaires ou cliquer sur certains boutons.

Selenium utilise le même principe que celui utilisé dans la bibliothèque Requests que nous avons abordée précédemment.

Cependant, il enverra non seulement la demande et attendra la réponse, mais rendra également la page Web demandée.

Pour démarrer avec Selenium, vous aurez besoin d’un WebDriver afin d’effectuer les interactions avec le navigateur.

Chaque navigateur a son propre WebDriver; Chrome a ChromeDriver et Firefox a GeckoDriver, par exemple.

Ceux-ci sont faciles à télécharger et à configurer avec votre code Python. Voici un article utile expliquant le processus de configuration, avec un exemple de projet.

Scrapy

La dernière bibliothèque que je voulais couvrir dans cet article est Scrapy.

Bien que nous puissions utiliser le module Requests pour explorer et extraire des données internes d’une page Web, afin de transmettre ces données et d’extraire des informations utiles, nous devons également les combiner avec BeautifulSoup.

Publicité

Continuer la lecture ci-dessous

Scrapy vous permet essentiellement de faire les deux dans une seule bibliothèque.

Scrapy est également considérablement plus rapide et plus puissant, complète les demandes d’exploration, extrait et analyse les données dans une séquence définie et vous permet de protéger les données.

Dans Scrapy, vous pouvez définir un certain nombre d’instructions telles que le nom du domaine que vous souhaitez explorer, l’URL de démarrage et certains dossiers de pages que l’araignée est autorisée ou non à explorer.

Scrapy peut être utilisé pour extraire tous les liens sur une certaine page et les stocker dans un fichier de sortie, par exemple.

class SuperSpider(CrawlSpider):
   name="extractor"
   allowed_domains = ['www.deepcrawl.com']
   start_urls = ['https://www.deepcrawl.com/knowledge/technical-seo-library/']
   base_url="https://www.deepcrawl.com"
   def parse(self, response):
       for link in response.xpath('//div/p/a'):
           yield {
               "link": self.base_url + link.xpath('.//@href').get()
           }

Vous pouvez aller plus loin et suivre les liens trouvés sur une page Web pour extraire des informations de toutes les pages qui sont liées à partir de l’URL de démarrage, un peu comme une réplication à petite échelle de la recherche Google et des liens suivants sur une page.

from scrapy.spiders import CrawlSpider, Rule
 
 
class SuperSpider(CrawlSpider):
    name="follower"
    allowed_domains = ['en.wikipedia.org']
    start_urls = ['https://en.wikipedia.org/wiki/Web_scraping']
    base_url="https://en.wikipedia.org"
 
    custom_settings = {
        'DEPTH_LIMIT': 1
    }
 
    def parse(self, response):
        for next_page in response.xpath('.//div/p/a'):
            yield response.follow(next_page, self.parse)
 
        for quote in response.xpath('.//h1/text()'):
            yield {'quote': quote.extract() }

En savoir plus sur ces projets, parmi d’autres exemples de projets, ici.

Dernières pensées

Comme l’a toujours dit Hamlet Batista, «la meilleure façon d’apprendre est de faire».

Publicité

Continuer la lecture ci-dessous

J’espère que la découverte de certaines des bibliothèques disponibles vous a inspiré pour commencer à apprendre Python, ou pour approfondir vos connaissances.

Contributions Python de l’industrie du référencement

Hamlet a également aimé partager des ressources et des projets de ceux de la communauté SEO Python. Pour honorer sa passion d’encourager les autres, je voulais partager certaines des choses incroyables que j’ai vues de la communauté.

En hommage à Hamlet et à la communauté SEO Python, il a contribué à cultiver, Charly Wargnier a créé SEO Pythonistas pour collecter les contributions des incroyables projets Python créés par la communauté SEO.

Les contributions inestimables de Hamlet à la communauté SEO sont présentées.

Moshe Ma-yafit a créé un script super cool pour l’analyse des fichiers journaux, et dans cet article explique comment le script fonctionne. Les visualisations qu’il est capable d’afficher, notamment les hits de Google Bot par appareil, les hits quotidiens par code de réponse, le code de réponse% total, etc.

Koray Tüberk GÜBÜR travaille actuellement sur un vérificateur de l’état de santé du plan de site. Il a également animé un webinaire RankSense avec Elias Dabbas où il a partagé un script qui enregistre les SERPs et analyse les algorithmes.

Publicité

Continuer la lecture ci-dessous

Il enregistre essentiellement les SERPs avec des décalages horaires réguliers, et vous pouvez explorer toutes les pages de destination, mélanger les données et créer des corrélations.

John McAlpin a écrit un article détaillant comment utiliser Python et Data Studio pour espionner vos concurrents.

JC Chouinard a écrit un guide complet sur l’utilisation de l’API Reddit. Avec cela, vous pouvez effectuer des tâches telles que l’extraction de données de Reddit et la publication sur un Subreddit.

Rob May travaille sur un nouvel outil d’analyse GSC et construit quelques nouveaux domaines / sites réels dans Wix pour se mesurer à son concurrent WordPress haut de gamme tout en le documentant.

Masaki Okazawa a également partagé un script qui analyse les données de la console de recherche Google avec Python.

Plus de ressources:

Publicité

Continuer la lecture ci-dessous


Crédits d’image

Toutes les captures d’écran prises par l’auteur, mars 2021



Auteur/autrice

Partager:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Articles Similaires