Un guide pour simplifier le Web Scraping en Python avec AutoScraper

Guides, Grattage, Python, Mai-05-20245 minutes de lecture

AutoScraper est une puissante bibliothèque open-source de web scraping pour Python qui simplifie le processus d'extraction de données à partir de sites web. Contrairement aux frameworks de web scraping traditionnels qui nécessitent un codage important pour analyser le contenu HTML, AutoScraper peut générer automatiquement des règles pour extraire les informations souhaitées sur la base d'exemples que vous fournissez. AutoScraper est particulièrement bien adapté aux débutants dans le monde du web scraping. Son interface conviviale et la génération automatique de règles le rendent accessible à ceux qui n'ont pas une grande expérience du codage.   

Principales caractéristiques d'AutoScraper

  • Facilité d'utilisation: Avec quelques lignes de code, vous pouvez mettre en place un scraper web qui ne nécessite qu'une maintenance minimale.
  • Extraction efficace des données : Le modèle d'AutoScraper apprend la structure des pages web pour s'adapter aux changements mineurs, réduisant ainsi la nécessité d'ajustements fréquents.
  • Polyvalence : Il prend en charge un large éventail de sites web et peut être intégré dans des pipelines de données plus importants.

Démarrage rapide d'AutoScraper

Supposons que vous souhaitiez récupérer les données d'un magasin de commerce électronique sans avoir à vous préoccuper de l'analyse HTML. AutoScraper vous permet de saisir des noms de produits dans la "wanted_list", et il apprendra automatiquement la structure HTML et analysera lui-même les produits suivants.

Voici un exemple clair qui illustre le processus, y compris la mise en œuvre de proxys:

Étape 1 : Installer AutoScraper

Tout d'abord, vous devez installer AutoScraper. Vous pouvez le faire en utilisant pip :

from autoscraper import AutoScraper

Étape 3 : Définir l'URL et la liste des personnes recherchées

Spécifiez l'URL que vous souhaitez récupérer et les éléments ou produits que vous souhaitez extraire. Ce faisant, AutoScraper peut apprendre la structure HTML et analyser avec précision tous les éléments similaires dans ce cadre :

url = 'https://books.toscrape.com/'
wanted_list = [
   "Tipping the Velvet",
   "Soumission",
]

Étape 4 : Construction du grattoir

Utilisez l'AutoScraper pour construire votre modèle de scraping :

    scraper = AutoScraper()
    
    proxies = {
        "http": 'http://test_user112:[email protected]:6060',
        "https": 'http://test_user112:[email protected]:6060',
    }
    #  if you wish to use the same scraper again
    scraper.save('books_to_scrape')
    result = scraper.build(url, wanted_list, request_args=dict(proxies=proxies))
    print(result)

Étape 5 : (Facultatif) Réutiliser le grattoir précédent

    scraper = AutoScraper()

   scraper.load('books_to_scrape')

    result = scraper.get_result(url)

Sortie générée par le code :

["Une lumière dans le ...", 
"Un coup de velours", 
"Soumission", 
'Sharp Objects', 
Sapiens : une brève histoire ...', 
'The Requiem Red', 'The Dirty Little Secrets ...', 
La femme qui vient : A ...', 
"Les garçons dans la ...", 
'The Black Maria', 
Les cœurs affamés( commercetriangulaire...)", 
"Les Sonnets de Shakespeare", 
"Set Me Free", 
"Le précieux petit ... de Scott Pilgrim", 
"Rip it Up and ...", 
"Notre groupe pourrait être...", 
"Olio", 
"Mesaerion : La meilleure science...", 
"Le libertarisme pour les débutants", 
"Ce n'est que l'Himalaya", 
"Une lumière dans le grenier", 
Sapiens : une brève histoire de l'humanité, 
"Les petits secrets de l'emploi de rêve", 
La femme qui vient : Un roman basé sur la vie de la célèbre féministe Victoria Woodhull", 
Les garçons dans le bateau : Neuf Américains et leur quête épique de l'or aux Jeux olympiques de Berlin en 1936 ", 
Starving Hearts(Tri angular Trade Trilogy,#1)", 
"La petite vie précieuse de Scott Pilgrim (Scott Pilgrim #1)", 
'Rip it Up and Start Again', 
Notre groupe pourrait être votre vie : Scenes from the American Indie Underground,  1981-1991", 
Mesaerion : Les meilleures histoires de science-fiction  1800-1849"]

Limites

  L'une des principales limites d'AutoScraper est qu'il ne prend pas en charge le rendu JavaScript ou les données chargées dynamiquement. Mais ne vous inquiétez pas, il existe une solution ! En utilisant des bibliothèques Python comme Selenium ou Playwright, qui gèrent les données dynamiques, nous pouvons récupérer les données HTML et laisser Autoscraper se charger de l'analyse pour nous.
Si votre site web cible utilise une protection anti-bot, à ProxyScrape, nous offrons une API de web scraping fiable qui s'occupe de tout pour vous, rendant votre processus de collecte de données efficace et sans effort.
Voici un exemple de la façon dont vous pouvez utiliser notre API de web scraping avec AutoScraper :  

import requests
from autoscraper import AutoScraper


def send_request(url_to_scrape):
    api_key = 'your_api_key' 
    data = {
        "url": url_to_scrape,
        "browserHtml": True  # Use browserHtml for JavaScript rendering
    }
    headers = {
        "Content-Type": "application/json",
        "X-Api-Key": api_key
    }

    response = requests.post("https://api.proxyscrape.com/v3/accounts/freebies/scraperapi/request",
                             headers=headers, json=data)

    #  we return the html data that web scraping api extracted
    return response.json()['data']['browserHtml']

if __name__ == '__main__':
    target_url = 'https://books.toscrape.com/'

    # get html data using web scraping api
    html_content = send_request(target_url)

    # parse that html data using AutoScraper
    scraper = AutoScraper()

    wanted_list = [
        "Tipping the Velvet",
        "Soumission",
    ]

    result = scraper.build(wanted_list=wanted_list, html=html_content)

    print(result)

Meilleures pratiques pour le Web Scraping avec AutoScraper et proxys

  • Respecter les conditions d'utilisation des sites web : Il faut toujours consulter et respecter les conditions d'utilisation d'un site web avant de procéder au scraping.
  • Utiliser des proxys rotatifs: Pour éviter la détection et les limites de débit, utilisez des proxys rotatifs qui changent fréquemment d'adresse IP. ProxyScrape propose des proxys résidentiels et mobiles rotatifs qui sont parfaits à cette fin.
  • Limitez vos demandes : Mettez en place des délais entre les demandes pour imiter le comportement humain et réduire le risque d'être banni.
  • Surveillez vos activités : Vérifiez régulièrement l'état de votre site proxys et les performances de votre scraper afin d'identifier et de résoudre rapidement tout problème.
  • Restez à jour : Maintenez vos scripts de scraping et vos listes de proxy à jour afin de vous adapter aux changements de structure des sites web et aux rotations d'IP des proxy.

Conclusion

Le Web scraping est un outil puissant pour l'acquisition de données, et avec la bonne combinaison d'AutoScraper et de proxys, vous pouvez libérer tout son potentiel. En intégrant ProxyScrape's premium proxys, vous vous assurez que vos activités de scraping sont efficaces, anonymes et ininterrompues. Nous vous avons fourni les éléments nécessaires pour commencer, si vous voulez aller plus loin avec AutoScraper, consultez ce gist.

Prêt à élever votre niveau de jeu dans le domaine du web scraping ? Commencez dès aujourd'hui à explorer les capacités d'AutoScraper avec ProxyScrape's premium proxys . Visitez le site ProxyScrape pour vous inscrire et profiter de nos solutions proxy de pointe.

Si vous avez besoin d'aide avec le web scraping, n'hésitez pas à rejoindre notre canal Discord où vous pourrez trouver de l'aide.

Bon grattage !