Vous n'êtes pas identifié(e).

  • Contributions :
  • Vos boîtes de messages privés sont vides.

🟣 Début de script pour surveiller les backlinks qui disparaissent


#1 2023-11-06 16:58:16

Mention lavegute
♟️ Grade : Recruit

DiscipleNarcissique
Inscription : 2022-11-23
Messages : 20
Likes : 7

Début de script pour surveiller les backlinks qui disparaissent

Salut,

Voila un début de script à peu prêt fonctionnel pour détecter les liens qui disparaissent.


import requests
from colorama import Fore, Style, init
import re
import os

# Effacer l'écran de la console avant de lancer le script
os.system('cls' if os.name == 'nt' else 'clear')

init(autoreset=True)  # Initialise Colorama pour réinitialiser automatiquement le style après chaque impression.

def verifier_lien(url_page, ancre, url_lien):
    try:
        response = requests.get(url_page)
        response.raise_for_status()

        # Construisez l'expression régulière pour chercher une ancre et un lien dans le contexte approprié
        # Nous cherchons ici une occurrence de l'url_lien précédé par des guillemets et suivie éventuellement
        # de texte, mais sans balises HTML intermédiaires, puis l'ancre, le tout encapsulé dans une balise <a>.
        pattern = re.compile(r'<a [^>]*href=["\']{}["\'][^>]*>(.*?){}(.*?)</a>'.format(re.escape(url_lien), re.escape(ancre)), re.IGNORECASE)
        matches = pattern.findall(response.text)

        if matches:
            return True
        else:
            return False
    except requests.HTTPError as http_err:
        print(f"Erreur HTTP pour {url_lien}: {http_err}")
        return None
    except Exception as err:
        print(f"Erreur pour {url_lien}: {err}")
        return None

# Lire le fichier et traiter chaque ligne.
nom_fichier = 'backlink.txt'

with open(nom_fichier, 'r') as fichier:
    lignes = fichier.read().strip().split('\n\n')  # Séparez les blocs par une ligne vide.

for bloc in lignes:
    url_page, ancre, url_lien = bloc.split('\n')

    # Vérifiez le lien et imprimez le résultat.
    lien_present = verifier_lien(url_page, ancre, url_lien)
    if lien_present is True:
        print(f"{Fore.GREEN}[+]{Style.RESET_ALL} {url_page}")
    elif lien_present is False:
        print(f"{Fore.RED}[-]{Style.RESET_ALL} {url_page}")
    # S'il y a une erreur, rien n'est imprimé ici car le message d'erreur est déjà affiché dans la fonction.
 

ça nécessite d'avoir un fichier backlink.txt avec ce format :


liendusitequifaitlelien.fr
ancre
site cible

liendusitequifaitlelien.fr
ancre
site cible
 

Avec un saut de ligne entre chaque.
il y aurait la possibilité de l'améliorer considérablement, enregistrer le tout dans un csv ou autre. Le faire tourner régulièrement sur le serveur etc ...

Ceux qui veulent le retoucher, améliorer ou autre, ce serait cool de poster les modifs.

Bonne journée

0
J'aime ❤️

🔴 Hors ligne

Pied de page des forums