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 :
Si vous hésitez entre deux VPN, tout dépend de ce que vous voulez en faire. Pour la vie privée et la transparence, difficile de faire mieux que ProtonVPN : code open source audité, basé en Suisse, et une version gratuite illimitée (pas de carte bancaire, pas de limite de data).
Pour le streaming et le débit, NordVPN reste la référence : plus de 8 000 serveurs dans 224 emplacements, protocole NordLynx (WireGuard optimisé), et il débloque les catalogues Netflix étrangers sans prise de tête. Les deux proposent une garantie « satisfait ou remboursé » de 30 jours, vous ne prenez donc aucun risque à tester celui qui correspond le mieux à votre usage.
from bs4 2 2
from urllib.request 2 urlopen
html= urlopen("http://www.google.com")
bsObj = 2(html)
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.
Téléchargez également les liens qui font référence à des fichiers pdf. Comme ceci.
ProtonVPN ou NordVPN : le choix rapide
Si vous voulez un VPN gratuit, transparent et orienté vie privée, choisissez ProtonVPN. Si vous voulez surtout le streaming, la vitesse et la simplicité, choisissez NordVPN.
Les deux proposent une garantie satisfait ou remboursé de 30 jours. Si vous ne savez pas lequel choisir, commencez par la version gratuite de ProtonVPN.
Voir la comparaison en 4 points
| Critère | ProtonVPN | NordVPN |
|---|---|---|
| Version gratuite | Oui, sans carte bancaire | Non |
| Streaming | Possible sur certains serveurs | Plus efficace pour les catalogues étrangers |
| Confidentialité | Open source, basé en Suisse | Code propriétaire |
| Prix | Dès 2,99 euros par mois | Dès 3,49 euros par mois |
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.
Article utile ? Dites-le à Google. Ajoutez ce blog à vos sources préférées : un clic, et vous le retrouverez dans vos recherches (et l’AI Mode) au lieu du contenu recyclé par des robots. C’est votre façon de reprendre le contrôle sur ce que vous lisez.
Et si vous avez aimé, partagez (c’est le meilleur coup de pouce pour un blog indépendant qui publie sans algorithme ni sponsor déguisé).
Un clic, gratuit. Nécessite d’être connecté à votre compte Google.

