Comment rechercher des mots-clés dans un site Web (y compris les PDF) avec Python ?

Photo of author
Écrit par Grégory Hénique
Blogueur SEO depuis 2009.
J'aide les entreprises à créer du contenu qui ranke par l'écriture SEO et l'IA maîtrisée.
✍️ Maj'Article IA : 14€ – 49€
Présentation

Vous pouvez utiliser un mélange de modules tels que urllib, beautifulsoup et PDFMiner pour réaliser votre tâche.

Il suffit de suivre les étapes suivantes. Utilisez urllib pour obtenir le html de la page d’accueil du site 2.

from urllib.request 2 urlopen

html= urlopen("http://www.google.com")

Pour créer un objet Beautifulsoup à partir de la chaîne html, le 2 devient :

from bs4 2 2
from urllib.request 2 urlopen
html= urlopen("http://www.google.com")
bsObj = 2(html)

✍️ Rédaction web & SEO

Vous avez un blog ou un site web ? Je propose mes services de rédaction web : création et mise à jour d'articles optimisés SEO, maintenance de blog, audits de contenu, refonte éditoriale.

Si vous cherchez quelqu'un pour s'occuper de votre contenu — articles, mises à jour, stratégie éditoriale — contactez-moi, on en discute.

📩 Me contacter pour un devis

Maintenant que vous avez l’objet 2, trouvez tous les liens de la page.

from bs4 2 2
from urllib.request 2 urlopen
html= urlopen("http://www.google.com")
bsObj = 2(html)
all_links_tags=bsObj.findAll('a')
all_links=[]
for x in all_links_tags:
all_links.append(x['href'])

Nous avons donc maintenant un tableau qui contient les liens de toutes les pages de la page d’accueil. Il suffit de 2 le mot en html de la page, et de répéter les étapes pour tous les liens.

cta protonvpn surfer depuis japon Essayer ProtonVPN →
J'ai longtemps utilisé NordVPN avant de basculer. Ce qui m'a fait changer ? Le code open source de ProtonVPN — je peux vérifier ce qui tourne sur mes appareils, pas juste croire la brochure marketing.
Transparence : le lien ci-dessus est un lien affilié. Je touche une commission si vous vous abonnez (cela ne change rien pour vous).

Téléchargez également les liens qui font référence à des fichiers pdf. Comme ceci.

from urllib.request 2 urlretrieve
from bs4 2 2
from urllib.request 2 urlopen
html= urlopen("http://www.google.com")
bsObj = 2(html)
all_links_tags=bsObj.findAll('a')
all_links=[]
pdf_paths=[]
for x in all_links_tags:
if(x['href'].endsWith(".pdf"):
#Download pdf files
urlretrieve(x['href'],x['href'].split('/')[-1])
pdf_paths.append(x['href'].split('/')[-1])
all_links.append(x['href'])

Maintenant adoptez une méthode pour 2 les fichiers pdf en utilisant PDFMiner, et une méthode pour 2 une chaîne de caractères. Utilisez les méthodes pour 2 le site 2 entier.

from urllib.request 2 urlretrieve
from bs4 2 2
from urllib.request 2 urlopen
html= urlopen("http://www.google.com")
bsObj = 2(html)
scanText(html)
all_links_tags=bsObj.findAll('a')
all_links=[]
pdf_paths=[]
for x in all_links_tags:
if(x['href'].endsWith(".pdf"):
#Download pdf files
urlretrieve(x['href'],x['href'].split('/')[-1])
pdf_paths.append(x['href'].split('/')[-1])
all_links.append(x['href'])
html=urlopen(x['href'])
scanText(html)
for x in pdf_paths:
scanPdf(x)

Faites-en une fonction, appliquez une récursion en utilisant all_links, et elle fonctionnera à l’infini sur un site 2, en recherchant du texte dans son html et dans les fichiers pdf qu’il contient.

✍️ Rédaction web & SEO

Vous avez un blog ou un site web ? Je propose mes services de rédaction web : création et mise à jour d'articles optimisés SEO, maintenance de blog, audits de contenu, refonte éditoriale.

Si vous cherchez quelqu'un pour s'occuper de votre contenu — articles, mises à jour, stratégie éditoriale — contactez-moi, on en discute.

📩 Me contacter pour un devis

Laisser un commentaire