Vous n'êtes pas identifié(e).
Pages :: 1
Voici un script tout chaud qui date de ce midi. En fait, ça fait un moment que je l'ai fait et je l'utilise de temps en temps et j'ai décidé de la simplifier grandement pour le distribuer sur le forum (et plus tard sur mon site).
Le but : d'après une liste d'url, trouvé les liens qui pointent vers un domaine et ressortir l'url, l'ancre et si le lien est en DoFollow. Vous l'avez peut-être compris, cela me sert pour analyser mes BL et ceux des concurrents. (à condition d'avoir une liste des URL qui contiennent des liens vers le site à analyser évidemment)
Le script fonctionne avec Python3 et nécessite l'installation de pyquery et requests :
# quelques parametres à changer
fichier = "listeurls.txt"
if len(sys.argv) < 2 :
print("entrer l'url à trouver")
sys.exit()
domaineATrouver = sys.argv[1]
# définition de fonction
# fonction pour lire un fichier
def lireFichier(fichier):
with open(fichier, encoding='utf-8', errors='ignore') as f:
content = f.readlines()
return content
print("url;ancre;cible;rel")
# lecture du fichier
contenu = lireFichier(fichier)
# boucle sur les url
for uneUrl in contenu :
urlEnCours = uneUrl.replace('\n','')
try :
response = requests.get(urlEnCours)
doc = pq(response.content)
lesLiens = doc("a")
for lien in lesLiens :
href = pq(lien).attr("href")
rel = pq(lien).attr("rel")
if rel is None :
rel = "DF"
else :
rel = "NF"
ancre = pq(lien).html()
if ancre is not None :
if ancre.find(domaineATrouver) > -1 :
# on a trouvé un lien
print(urlEnCours + ";" + ancre + ";" + href + ";" + rel)
except :
pass
Quelques défauts : parfois il arrive pas à sortir les infos d'une page et donc il ne la prend pas en compte.
Utilisation :
On doit créer un fichier "listeurls.txt" qui contient tous les urls ainsi :
Ensuite on peut l'exécuter comme cela :
Avec www.lesite.net qui doit être dans le href des liens analysés sur la page.
La sortie est dans la console avec cette forme :
On peut rediriger sa sortie vers un fichier :
Donc après on peut l'exploiter dans Excel ou Calc puisque c'est un format CSV.
Voilà, j'espère que c'est clair et en tout cas ça serait sympa que quelques personnes testent cela pour me faire un retour
🔴 Hors ligne
🔴 Hors ligne
Pages :: 1