• Email : contact@refbax.com

Crawler avec Python comme ScreamingFrog

📢 Image qui illustre un article sur le : page, données, HTTP, site web, Beautiful Soup, requests.get(url), BeautifulSoup(response.text,, "html.parser"), soup.title.string, soup.find("meta",, soup.find("link",, {response.status_code}"), soup.find_all("a"):, link.get("href"), href.startswith("http"):, links.append(href)
Facebook
Twitter
LinkedIn
Temps de lecture : 2 minutes

Screaming Frog est un outil de crawl de site web qui permet de collecter des données sur les pages d’un site web. Il est possible de créer un logiciel équivalent en utilisant Python et plusieurs bibliothèques différentes. Voici une approche possible pour créer un tel logiciel :

  • Utiliser la bibliothèque requests pour envoyer des requêtes HTTP à un site web et récupérer les réponses.
  • Analyser le code HTML de la réponse avec une bibliothèque telle que beautifulsoup4 ou lxml pour extraire les données souhaitées, comme les liens vers les autres pages du site, les balises title et meta, etc.
  • Stocker ces données dans un format de votre choix, comme une base de données ou un fichier CSV.
  • Répéter les étapes 1 à 3 pour chaque page du site web à crawler, en suivant les liens trouvés dans chaque page pour naviguer à travers le site.

Voici un exemple de code Python qui utilise la bibliothèque requests et beautifulsoup4 pour envoyer une requête HTTP à une page web, extraire le titre de la page et imprimer le résultat :

import requests
from bs4 import BeautifulSoup

def crawl_site(url):
    # Envoyer une requête HTTP à la page web
    response = requests.get(url)

    # Analyser le code HTML de la réponse avec Beautiful Soup
    soup = BeautifulSoup(response.text, "html.parser")

    # Extraire le titre de la page
    title = soup.title.string

    # Extraire la balise meta description
    meta_description = soup.find("meta", {"name": "description"})["content"]

    # Extraire la balise link canonical
    link_canonical = soup.find("link", {"rel": "canonical"})["href"]

    # Imprimer les informations trouvées
    print(f"URL: {url}")
    print(f"Title: {title}")
    print(f"Meta description: {meta_description}")
    print(f"Link canonical: {link_canonical}")
    print(f"HTTP status code: {response.status_code}")

    # Extraire les liens vers les autres pages du site
    links = []
    for link in soup.find_all("a"):
        href = link.get("href")
        if href and href.startswith("http"):
            links.append(href)

    # Répéter le processus pour chaque lien trouvé
    for link in links:
        crawl_site(link)

Cette fonction utilise la méthode find de Beautiful Soup pour chercher les balises meta description, link canonical et extraire leur contenu respectivement. Elle utilise également la propriété status_code de la réponse HTTP pour récupérer le code HTTP de la page.

Vous pouvez adapter cette fonction pour stocker ces informations dans une base de données ou un fichier CSV au lieu de les imprimer. Vous pouvez également ajouter des fonctionnalités supplémentaires, comme la gestion des erreurs et des redirections, l’exclusion de certains liens ou la gestion des cookies.

Laisser un commentaire

Sur le même thème 🤩

Crawler

Crawler

Publié le 24 mai 2021
Lire la suite
Quels sont les outils indispensable en SEO en 2024 ?

Quels sont les outils indispensable en SEO en 2024 ?

Publié le 24 novembre 2020
Lire la suite
Crawl Budget

Crawl Budget

Publié le 24 mai 2021
Lire la suite
Comment faire un audit technique SEO ?

Comment faire un audit technique SEO ?

Publié le 9 mai 2021
Lire la suite
Notre Guide SEO pour débutant en 2024

Notre Guide SEO pour débutant en 2024

Publié le 31 mai 2019
Lire la suite
Comment générer mon fichier robots.txt ?

Comment générer mon fichier robots.txt ?

Publié le 9 mai 2021
Lire la suite
Qui suis-je ! 👨‍💻

Enfilez-votre cape

Apprenez le webmarketing et le code grâce à nos différentes ressources et améliorez la visibilité de votre site internet, grâce à nos outils SEO.

refbax superhero bas