• 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 🤩

Comment installer Python sur Windows ?

Comment installer Python sur Windows ?

Publié le 23 novembre 2021

La première étape de l’apprentissage d’un langage de programmation n’est pas toujours de faire son Hello World souvent il est...

Lire la suite
Introduction à Python

Introduction à Python

Publié le 23 novembre 2021

Python est un langage de programmation de haut niveau, polyvalent et orienté objet. Python est un langage facile à apprendre...

Lire la suite
Déclaration et commentaire en Python

Déclaration et commentaire en Python

Publié le 25 novembre 2021

Cette section traite des déclarations, de l’indentation et des commentaires Python. La dernière session présente également Docstring comme un type...

Lire la suite
Comment utiliser Mistral 7B avec python ?

Comment utiliser Mistral 7B avec python ?

Publié le 18 janvier 2024

Le monde du développement web et du SEO a récemment été marqué par une avancée majeure : l’arrivée de Mistral...

Lire la suite
Comment envoyer un mail avec Python ?

Comment envoyer un mail avec Python ?

Publié le 23 novembre 2021

Bonjour à tous et bienvenue dans ce nouveau guide Python sur la façon d’envoyer un courriel à l’aide d’un programme...

Lire la suite
Pourquoi apprendre le python ?

Pourquoi apprendre le python ?

Publié le 6 septembre 2021

Python est un langage de programmation générique de haut niveau à sémantique dynamique. Sa structure de données le rend idéal...

Lire la suite
Mots clés, termes réservés et identificateurs de Python

Mots clés, termes réservés et identificateurs de Python

Publié le 24 novembre 2021

Tutoriel Python – Mots clés et identificateurs Dans cette section, nous parlerons des mots-clés et des identificateurs Python. Mots clés...

Lire la suite
Hello World – Python

Hello World – Python

Publié le 24 novembre 2021

Que serait une formation d’apprentissage d’un langage sans la toute première leçon, l’affichage du fameux Hello World . >>> print("Hello...

Lire la suite
Comment récupérer des données sur les coronavirus avec Python ?

Comment récupérer des données sur les coronavirus avec Python ?

Publié le 24 novembre 2021

Bonjour à tous et bienvenue dans ce guide où je vais vous montrer comment obtenir des données sur les cas...

Lire la suite
Qui suis-je ! 👨‍💻
Parfois on cherche par catégorie 📌

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