Outils pour utilisateurs

Outils du site


cmd:wget

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
cmd:wget [2020/04/20 11:37] – Ajout de "Inclusion / exclusion" : parse 1 rootcmd:wget [2025/06/15 18:53] (Version actuelle) – Mise à jour de la partie algorithme root
Ligne 1: Ligne 1:
 ====Algorithme==== ====Algorithme====
-===Inclusion / exclusion=== 
  
 Analyse de la fonction ''download_child'' du fichier ''recur.c''. Analyse de la fonction ''download_child'' du fichier ''recur.c''.
Ligne 16: Ligne 15:
   * Etape 3 : validation du schéma de l'URL   * Etape 3 : validation du schéma de l'URL
  
-Est-ce que l'URL commence par HTTP ? Est-ce que l'URL commence par FTP ou FTPS et que ''%%--follow-ftp%%'' est activé ? Si non : on ignore.+Est-ce que l'URL commence par ''HTTP''/''HTTPS'' ? Est-ce que l'URL commence par FTP ou FTPS et que ''%%--follow-ftp%%'' est activé ? Si non : on ignore.
  
   * Etape 4 : filtrer les liens absolus   * Etape 4 : filtrer les liens absolus
  
-Est-ce que l'option ''%%--%%relative''/''-L'' est actif et que le lien est absolu ? Si oui : on ignore.+Est-ce que l'url est ''HTTP''/''HTTPS'' et que l'option ''-L'' / ''%%--%%relative'' (uniquement) est actif et que le lien est absolu ? Si oui : on ignore.
  
   * Etape 5 : filtrer les domaines   * Etape 5 : filtrer les domaines
Ligne 32: Ligne 31:
 Toutes les conditions doivent être réunies : Toutes les conditions doivent être réunies :
   * ''%%--%%no-parent'' actif.   * ''%%--%%no-parent'' actif.
-  * Même schéma : l'URL de base et l'URL cible sont HTTP/HTTP, HTTPS/HTTP, HTTP/HTTPS ou HTTPS/HTTPS. +  * Schéma compatible entre l'URL de base et l'URL cible HTTP/HTTP, HTTPS/HTTP, HTTP/HTTPS ou HTTPS/HTTPS. 
-  * Même sous-domaine +  * Même sous-domaine (insensible à la casse) 
-  * Si même schéma, il faut le même port. +  * Si schéma identique, il faut le même port. 
-  * Si ''%%--%%page-requisites'' n'est pas activé ou que ''%%--%%page-requisites'' est activé et que le fichier n'est pas indispensable au rendu de la page.+  * Si ''%%--%%page-requisites'' n'est pas activé ou que ''%%--%%page-requisites'' est activé et que le fichier n'est pas indispensable au rendu de la page (on ne peut filtrer avec ''%%--%%page-requisites'' que si l'élément n'est pas indispensable à l'affichage)
  
 On vérifie si le fichier est dans un sous-dossier de l'URL d'origine. L'option ''%%--ignore-case%%'' est prise en compte. On vérifie si le fichier est dans un sous-dossier de l'URL d'origine. L'option ''%%--ignore-case%%'' est prise en compte.
Ligne 42: Ligne 41:
  
 Si ni l'option ''%%--include%%'' / ''-I'' ni ''%%--exclude%%'' / ''-X'' n'est utilisé : passé à l'étape suivante. Si ni l'option ''%%--include%%'' / ''-I'' ni ''%%--exclude%%'' / ''-X'' n'est utilisé : passé à l'étape suivante.
 +
 +On ignore le premier caractère ''/''.
  
 Est-ce que l'option ''%%--include%%'' / ''-I'' est actif et que l'URL ne fait pas partie de la liste autorisé ? Si oui, on ignore. Les wildcards ''*?[]'' sont autorisés. L'option ''%%--ignore-case%%'' est prise en compte. Est-ce que l'option ''%%--include%%'' / ''-I'' est actif et que l'URL ne fait pas partie de la liste autorisé ? Si oui, on ignore. Les wildcards ''*?[]'' sont autorisés. L'option ''%%--ignore-case%%'' est prise en compte.
Ligne 47: Ligne 48:
 Est-ce que l'option ''%%--exclude%%'' / ''-X'' est actif et que l'URL fait partie de la liste interdite ? Si oui, on ignore. Les wildcards ''*?[]'' sont autorisés. L'option ''%%--ignore-case%%'' est prise en compte. Est-ce que l'option ''%%--exclude%%'' / ''-X'' est actif et que l'URL fait partie de la liste interdite ? Si oui, on ignore. Les wildcards ''*?[]'' sont autorisés. L'option ''%%--ignore-case%%'' est prise en compte.
  
-  * Etape 8 : Vérification du niveau de récursion+  * Etape 8 : accept-regex / reject-regex
  
-Si le niveau maximum de récursion est atteint : on ignore.+La regex est soit ''posix'', ''pcre'' en fonction de l'option ''%%--%%regex-type''.
  
-  * Etape 9 : Est-ce que le nom du fichier est filtré ?+Est-ce que l'option ''%%--accept-regex%%'' est actif et que l'URL complet ne fait pas partie de la regex autorisée ? Si oui, on ignore. 
 + 
 +Est-ce que l'option ''%%--reject-regex%%'' est actif et que l'URL complet ne fait partie de la regex interdite ? Si oui, on ignore. 
 + 
 +  * Etape 9 : Vérification du niveau de récursion 
 + 
 +Si le niveau maximum de récursion est atteint (''%%--level%%'' / ''-l'') : on ignore. 
 + 
 +  * Etape 10 : Est-ce que le nom du fichier est filtré ?
  
 Si ni l'option ''%%--%%accept'' / ''-A'' ni ''%%--reject%%'' / ''-R'' n'est utilisé : passé à l'étape suivante. Si ni l'option ''%%--%%accept'' / ''-A'' ni ''%%--reject%%'' / ''-R'' n'est utilisé : passé à l'étape suivante.
Ligne 59: Ligne 68:
 Est-ce que l'option ''%%--reject%%'' / ''-R'' est actif et que l'URL fait partie de la liste interdite ? Si oui, on ignore. Les wildcards ''*?[]'' sont autorisés. Si les wildcards ne sont pas utilisés, on compare les suffixes L'option ''%%--ignore-case%%'' est prise en compte. Est-ce que l'option ''%%--reject%%'' / ''-R'' est actif et que l'URL fait partie de la liste interdite ? Si oui, on ignore. Les wildcards ''*?[]'' sont autorisés. Si les wildcards ne sont pas utilisés, on compare les suffixes L'option ''%%--ignore-case%%'' est prise en compte.
  
-  * Etape 10 : est-ce que l'exploration des autres domaines est autorisé ?+  * Etape 11 : est-ce que l'exploration des autres domaines est autorisé ?
  
 Si les schémas sont compatibles (HTTP/HTTPS), on ignore si l'URL est dans un autre domaine / sous-domaine et que l'option ''%%--%%span-hosts'' / ''H'' n'est pas activé. Si les schémas sont compatibles (HTTP/HTTPS), on ignore si l'URL est dans un autre domaine / sous-domaine et que l'option ''%%--%%span-hosts'' / ''H'' n'est pas activé.
  
-  * Etape 11 : robots.txt+  * Etape 12 : robots.txt
  
-Est-ce qu'on applique la contrainte de ''robots.txt''. Il existe une option ''use_robots'' qui vaut ''true'' par défaut et qui ne semble pas être personnalisable.+Est-ce qu'on applique la contrainte de ''robots.txt'' (''%%--%%robots'') ?
  
 Si toutes les étapes sont respectées, on télécharge le lien. Si toutes les étapes sont respectées, on télécharge le lien.
 +
 +====Configuration====
 +===Proxy===
 +
 +Il faut éditer le fichier ''/etc/wgetrc'' et configurer les lignes :
 +
 +<code>
 +https_proxy = http://xx.xx.xx.xx:80/
 +http_proxy = http://xx.xx.xx.xx:80/
 +ftp_proxy = http://xx.xx.xx.xx:80/
 +</code>
  
 ====Exemples==== ====Exemples====
 ===Télécharger un site entier=== ===Télécharger un site entier===
 [[http://www.linuxjournal.com/content/downloading-entire-web-site-wget|Downloading an Entire Web Site with wget]] {{ :cmd:wget:downloading_an_entire_web_site_with_wget_linux_journal_2019-10-16_09_10_44_.html |Archive du 05/09/2008 le 16/10/2019}} [[http://www.linuxjournal.com/content/downloading-entire-web-site-wget|Downloading an Entire Web Site with wget]] {{ :cmd:wget:downloading_an_entire_web_site_with_wget_linux_journal_2019-10-16_09_10_44_.html |Archive du 05/09/2008 le 16/10/2019}}
-  wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --span-hosts --domains=website.org,images.website2.org --no-parent www.website.org/tutorials/html/+  wget --recursive --no-clobber --page-requisites --html-extension --convert-links --restrict-file-names=windows --span-hosts --no-parent --content-disposition --domains=website.org,images.website2.org www.website.org/tutorials/html/
  
 ===Pas le bon nom de fichier=== ===Pas le bon nom de fichier===
cmd/wget.1587375462.txt.gz · Dernière modification : de root