Una soluzione Python
Puoi utilizzare Scrapy che farà la maggior parte del lavoro per te. Dovresti quindi solo utilizzare Counter()
per ottenere le parole migliori (se stai cercando per i conteggi di frequenza).
Potresti anche utilizzare un approccio di livello più basso con Beautiful Soup per ottenere le prime 5 parole:
# coding=utf-8
import requests
import collections
from bs4 import BeautifulSoup
thesite = requests.get("http://www.lemonde.fr").text
soup = BeautifulSoup(thesite, 'html.parser')
thewords = soup.get_text().split()
print(collections.Counter(thewords).most_common(5))
Poiché l'output è
[('de', 223), ('la', 154), (':', 123), ('{', 115), ('à', 84)]
potresti dare un'occhiata a una lunghezza minima di una "parola" (forse 3?)
UPDATE : il codice per un elenco ordinato di parole più comuni con 3 o più lettere
# coding=utf-8
import requests
import collections
from bs4 import BeautifulSoup
import operator
thesite = requests.get("http://www.lemonde.fr").text
soup = BeautifulSoup(thesite, 'html.parser')
thewords = soup.get_text().split()
# keep only words over 3 chars
thewords = {w: f for w, f in collections.Counter(thewords).items() if len(w) > 3}
topwords = sorted(thewords.items(), key=operator.itemgetter(1), reverse=True)
print(topwords)