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 web.
from urllib.request import urlopen
html= urlopen("http://www.google.com")
Pour créer un objet Beautifulsoup à partir de la chaîne html, le code devient :
from bs4 import BeautifulSoup
from urllib.request import urlopen
html= urlopen("http://www.google.com")
bsObj = BeautifulSoup(html)
Maintenant que vous avez l’objet BeautifulSoup, trouvez tous les liens de la page.
from bs4 import BeautifulSoup
from urllib.request import urlopen
html= urlopen("http://www.google.com")
bsObj = BeautifulSoup(html)
all_links_tags=bsObj.findAll('a')
all_links=[]
for x in all_links_tags:
all_links.append(x['href'])
Confidentiel :
Utilisez un VPN pour cacher votre adresse IP et refuser qu'on vous piste.
Anonyme :
Ce VPN chiffre votre connexion internet et maquille votre localisation en ligne.
Nous avons donc maintenant un tableau qui contient les liens de toutes les pages de la page d’accueil. Il suffit de scanner 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.
from urllib.request import urlretrieve
from bs4 import BeautifulSoup
from urllib.request import urlopen
html= urlopen("http://www.google.com")
bsObj = BeautifulSoup(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 scanner les fichiers pdf en utilisant PDFMiner, et une méthode pour scanner une chaîne de caractères. Utilisez les méthodes pour scanner le site web entier.
from urllib.request import urlretrieve
from bs4 import BeautifulSoup
from urllib.request import urlopen
html= urlopen("http://www.google.com")
bsObj = BeautifulSoup(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 web, en recherchant du texte dans son html et dans les fichiers pdf qu’il contient.