Moissonnage du web

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