Guida alla semplificazione del Web Scraping in Python con AutoScraper

Guide, Scraping, Python, May-23-20245 minuti di lettura

AutoScraper è una potente libreria open-source di web scraping per Python che semplifica il processo di estrazione dei dati dai siti web. A differenza dei framework di web scraping tradizionali, che richiedono una codifica approfondita per analizzare il contenuto HTML, AutoScraper è in grado di generare automaticamente regole per estrarre le informazioni desiderate sulla base di esempi forniti dall'utente. AutoScraper è particolarmente adatto ai principianti nel mondo del web scraping. La sua interfaccia user-friendly e la generazione automatica di regole lo rendono accessibile anche a chi non ha una grande esperienza di codifica.   

Caratteristiche principali di AutoScraper

  • Facilità d'uso: Con poche righe di codice, è possibile configurare un web scraper che richiede una manutenzione minima.
  • Estrazione efficiente dei dati: Il modello di AutoScraper apprende la struttura delle pagine web per adattarsi alle piccole modifiche, riducendo la necessità di frequenti aggiustamenti.
  • Versatilità: Supporta un'ampia gamma di siti web e può essere integrato in pipeline di dati più ampie.

Avvio rapido di AutoScraper

Supponiamo di voler effettuare lo scraping di un negozio di e-commerce senza dover affrontare l'analisi dell'HTML. AutoScraper vi permette di inserire i nomi dei prodotti nella "wanted_list", e imparerà automaticamente la struttura HTML e analizzerà da solo i prodotti successivi.

Ecco un esempio chiaro per dimostrare il processo, compresa l'implementazione dei proxy:

Passo 1: Installare AutoScraper

Per prima cosa, è necessario installare AutoScraper. È possibile farlo utilizzando pip:

da autoscraper importare AutoScraper

Fase 3: Definizione dell'URL e dell'elenco dei desiderata

Specificare l'URL che si desidera analizzare e gli elementi o i prodotti che si desidera estrarre. In questo modo, AutoScraper è in grado di apprendere la struttura HTML e di analizzare con precisione tutti gli elementi simili all'interno di tale struttura:

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

Fase 4: costruire il raschietto

Utilizzare AutoScraper per costruire il modello di 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)

Fase 5: (facoltativa) Riutilizzare il raschietto precedente

    scraper = AutoScraper()

   scraper.load('books_to_scrape')

    risultato = scraper.get_result(url)

Output generato dal codice:

["Una luce nel...", 
'Tipping the Velvet', 
'Soumission', 
'Sharp Objects', 
Sapiens: una breve storia...", 
'Il rosso di Requiem', 'I piccoli sporchi segreti...', 
'La donna che verrà: A ...', 
I ragazzi del...", 
'La Maria Nera', 
Cuori affamati( commerciotriangolare...)", 
"I sonetti di Shakespeare", 
Set Me Free", 
"Scott Pilgrim's Precious Little ...", 
"Rip it Up and ...", 
La nostra band potrebbe essere...", 
'Olio', 
Mesaerion: La migliore scienza...", 
'Libertarismo per principianti', 
"È solo l'Himalaya", 
"Una luce in soffitta", 
Sapiens: Breve storia dell'umanità", 
I piccoli e sporchi segreti per ottenere il lavoro dei vostri sogni", 
La donna che verrà: Un romanzo basato sulla vita della famigerata femminista Victoria Woodhull", 
I ragazzi in barca: Nine Americans and Their Epic Quest for Gold at the 1936 Berlin Olympics", 
Cuori affamati(Tr ilogia del commerciotriangolare,#1)", 
"Scott Pilgrim's Precious Little Life (Scott Pilgrim #1)", 
Rip it Up and Start Again", 
'La nostra band potrebbe essere la tua vita: Scenes from the American Indie Underground,  1981-1991", 
Mesaerion: Le migliori storie di fantascienza  1800-1849"].

Limitazioni

  Una delle principali limitazioni di AutoScraper è che non supporta il rendering JavaScript o i dati caricati dinamicamente. Ma non preoccupatevi, c'è una soluzione! Utilizzando librerie Python come Selenium o Playwright, che gestiscono dati dinamici, possiamo prendere i dati HTML e lasciare che Autoscraper si occupi del parsing per noi.
Se il vostro sito web di destinazione impiega una protezione anti-bot, noi di ProxyScrape offriamo un'API di scraping web affidabile che si occupa di tutto per voi, rendendo il vostro processo di raccolta dei dati semplice ed efficiente.
Ecco un esempio di come potete utilizzare la nostra API di scraping web con 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)

Migliori prassi per lo scraping del Web con AutoScraper e i proxy

  • Rispettare i termini di servizio del sito web: Prima di effettuare lo scraping, verificare e rispettare sempre i termini di servizio di un sito web.
  • Utilizzare proxy a rotazione: Per evitare il rilevamento e i limiti di velocità, utilizzate proxy a rotazione che cambiano frequentemente indirizzo IP. ProxyScrape offre proxy residenziali e mobili a rotazione perfetti per questo scopo.
  • Limitare le richieste: Implementare ritardi tra le richieste per imitare il comportamento umano e ridurre il rischio di essere bannati.
  • Monitoraggio delle attività: Controllate regolarmente lo stato di salute dei vostri proxy e le prestazioni del vostro scraper per identificare e risolvere rapidamente qualsiasi problema.
  • Rimanere aggiornati: Mantenete aggiornati gli script di scraping e gli elenchi di proxy per adattarvi alle modifiche delle strutture dei siti web e alle rotazioni degli IP dei proxy.

Conclusione

Lo scraping del Web è uno strumento potente per l'acquisizione di dati e, con la giusta combinazione di AutoScraper e proxy, è possibile sbloccare tutto il suo potenziale. Integrando i proxy premium di ProxyScrape, vi assicurerete che le vostre attività di scraping siano efficienti, anonime e ininterrotte. Vi abbiamo fornito gli elementi necessari per iniziare, se volete approfondire l'utilizzo di AutoScraper consultate questa guida.

Siete pronti a migliorare il vostro gioco di web scraping? Iniziate subito a esplorare le capacità di AutoScraper con i proxy premium di ProxyScrape. Visitate ProxyScrape per iscrivervi e approfittare delle nostre soluzioni proxy all'avanguardia.

Se avete bisogno di assistenza con il web scraping, non esitate a unirvi al nostro canale Discord dove potrete trovare supporto.

Buona raschiatura!