▶ Forum SEO : Référencement Avancé sur Moteurs de Recherche
Ninjalinking 2022
  • Accueil
  • Membres
  • Nouvelles contributions
  • Contributions récentes
  • Recherche
  • Inscription
  • Identification
guest
  • Accueil
  • » ⓿ Developpement Python
  • » Trouver les ancres des BL + DF / NF

Pages :: 1

🟣 Trouver les ancres des BL + DF / NF


#1 2015-10-02 13:01:57

Mention NicolasWeb
🥉 Grade : Scout

AuxiliaireStratège100likes1000 messages
Lieu : Besançon (France)
Inscription : 2015-09-30
Messages : 1 114
Likes : 214

Rédaction
Sémantique
Site Web

Trouver les ancres des BL + DF / NF

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. big_smile (à 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 :


# -*- coding: utf-8 -*-
import sys
# pip install requests
import requests
# pip install pyquery
from pyquery import PyQuery as pq

# 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 :


http://www.url1.com
http://www.url2.com
http://www.url3.com
etc.
 

Ensuite on peut l'exécuter comme cela :

python script.py www.lesite.net

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 :

url;ancre;cible;rel
http://urlquicontientlelien.com;ancre;http://www.lesite.net/;DF
http://urlquicontientlelien2.com;ancre;http://www.lesite.net/;NF
etc.
 

On peut rediriger sa sortie vers un fichier :

python script.py www.lesite.net > resultats.csv

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 wink


Me contacter - Seo Words

0
J'aime ❤️

🔴 Hors ligne

#2 2016-05-29 10:26:13

Mention NicolasWeb
🥉 Grade : Scout

AuxiliaireStratège100likes1000 messages
Lieu : Besançon (France)
Inscription : 2015-09-30
Messages : 1 114
Likes : 214

Rédaction
Sémantique
Site Web

Re : Trouver les ancres des BL + DF / NF

@Dukofo a priori non, mais ça fait un moment que j'ai pas retravaillé avec ce script


Me contacter - Seo Words

0
J'aime ❤️

🔴 Hors ligne

Pages :: 1

  • Accueil
  • » ⓿ Developpement Python
  • » Trouver les ancres des BL + DF / NF

Pied de page des forums