Salut,
Voila un début de script à peu prêt fonctionnel pour détecter les liens qui disparaissent.
# 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
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
🔴 Hors ligne