Moissonnage du web

Révision datée du 26 octobre 2025 à 16:52 par Fylip22 (discussion | contributions) (Page créée avec « Le '''moissonnage du web''' (ou ''web scraping'') est une technique de récupération et d'organisation automatisées des données du web. == Référence == Wikipédia : * https://fr.wikipedia.org/wiki/Web_scraping Site avec exemple : * https://medium.com/@datajournal/web-scraping-with-powershell-959229773c33 * https://github.com/oxylabs/web-scraping-powershell == PowerShell == Oxylabs.io * https://oxylabs.io/blog/powershell-web-scraping * https://github.com... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Le moissonnage du web (ou web scraping) est une technique de récupération et d'organisation automatisées des données du web.

Référence

Wikipédia :

Site avec exemple :

PowerShell

Oxylabs.io

https://medium.com

Exemple

<#
Nom           : PSHWEB021
Description   : moissonage web, récupération d'éléments d'un catalogue
Usage         : exercice en PowerShell
Particularité : néant
Auteur        : fylip22
Version       : 1.0
Révisions     :
	- 1.0 (26/10/2025) : création du script
#>

# Récupération du contenu de la page web
$pageHtml = Invoke-RestMethod 'https://www.produits-laitiers-de-france.com/fromage/tous-les-fromages/'

# Expression régulière pour cibler le contenu à récupérer
$expressionReguliere = '<h2 class="title-block-small">(?<nom>.*)<\/h2>(.*|\n*).*<span class="title-french-block-small">(?<origine>.*)<\/span>'

# Récupération des éléments ciblés par l'expression régulière
$correspondance = ($pageHtml | Select-String $expressionReguliere -AllMatches).Matches

# Constitution de la liste des éléments récupérés
$liste = foreach ($element in $correspondance)
{
    [PSCustomObject]@{
        'nom'     = ($element.Groups.Where{$_.Name -like 'nom'}).Value
        'origine' = ($element.Groups.Where{$_.Name -like 'origine'}).Value
    }
}
$liste

# Exemple d'expression régulière
# $expressionReguliere020 = '<li class="active".*>(?<name>.*)</li>(.|\n)*<th>UPC</th><td.*>(?<upc_id>.*)</td>(.|\n)*<th>Product Type</th><td.*>(?<product_type>.*)</td>(.|\n)*<th>Price.*</th><td.*>(?<price>.*)</td>(.|\n)* <th>Availability</th>(.|\n)*<td.*>(?<availability>.*)</td>'

Voir aussi