Pierre-Henri Paris - Juin 2023
Avec des éléments de Jean-Claude Moissinac
Sur le Web :
Définition: Le Web Crawling est le processus par lequel un programme ou un “robot” automatique parcourt systématiquement les sites Web pour en collecter les données.
Utilisations courantes :
Définition: Le Web Scraping est le processus d’extraction de données spécifiques d’un site Web.
Utilisations courantes: collecte de données dans le domaine du data mining (analyse plus approfondie).
Portée
Profondeur
Outils
On parle souvent d’API Web pour les services accessibles sur Internet
Exemple de répertoire d’API:
Le processus du crawling
Problème :
Solutions :
Eviter le DOS (Denial Of Service)
Attendre de 100ms à plusieurs secondes avant de solliciter à nouveau un domaine déjà sollicité
Respecter les exclusions
User-agent: Googlebot
Disallow: /nogooglebot/
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xml
Respecter les exclusions
<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
<a href="mapagesecrete.html" rel="nofollow">
callback
If-Match
If-Modified-Since
Souvent fournis pour les contenus statiques
Rarement fournis pour les contenus dynamiques
Cache‐Control: max‐age=60, private Expires: Tue, 01 Apr 2008 13:25:55 GMT
Des fichiers autres que HTML peuvent avoir une information de version et/ou de date
HTTP/1.1 200 OK
Content-Type: text/html;
charset=UTF-8
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; fr; rv:1.9.0.3)
Gecko/2008092510 Ubuntu/8.04 (hardy) Firefox/3.0.3
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.8e
# Sentences:
S = "I like the sun"
T = "the sun I like"
# Shingles:
shingles_S = { "I like", "like the", "the sun" }
shingles_T = { "the sun", "sun I", "I like" }
# Intersection and Union:
I = {"I like", "the sun"}
U = {"I like", "like the", "the sun", "sun I"}
# Jaccard Similarity:
similarity = len(I) / len(U) # 0.5
Jungle complexe :
VS
Scrapy
Scrapy
Avantages :
Inconvénients :
BeautifulSoup
BeautifulSoup
Avantages :
Inconvénients :
Selenium
Selenium
Avantages :
Inconvénients :
Autres outils notables
Avantages et inconvénients des outils courants
Outil | Avantages | Inconvénients |
---|---|---|
BeautifulSoup | Facile à utiliser | Ne gère pas le JavaScript |
Selenium | Peut gérer le JavaScript | Plus lent |
Scrapy | Puissant et flexible | Courbe d’apprentissage plus raide |
Exemple 1: Googlebots et l’indexation du Web
Exemple 2: Le projet Common Crawl
Le Web Crawling de Common Crawl
Exemple 3: Crawling pour l’analyse du sentiment
Exemple 4: Projet Alexandria
Si vous avez des questions ou des commentaires, n’hésitez pas à me contacter :
pierre[dash]henri[dot]paris[at]telecom[dash]paris[dot].fr