Voglio creare un sito Web che mostri il confronto tra Amazon e il prezzo del prodotto e-bay. Quale di questi funzionerà meglio e perché? Ho una certa familiarità con BeautifulSoup ma non tanto con il crawler Scrapy .
Voglio creare un sito Web che mostri il confronto tra Amazon e il prezzo del prodotto e-bay. Quale di questi funzionerà meglio e perché? Ho una certa familiarità con BeautifulSoup ma non tanto con il crawler Scrapy .
Risposte:
Scrapy è un framework Web-spider o web scraper , dai a Scrapy un URL di root per iniziare la scansione, quindi puoi specificare i vincoli su quanti (numero di) URL vuoi scansionare e recuperare, ecc. È un framework completo per il web scraping o la scansione .
Mentre
BeautifulSoup è una libreria di analisi che fa anche un ottimo lavoro nel recuperare i contenuti dall'URL e consente di analizzarne alcune parti senza problemi. Recupera solo i contenuti dell'URL che dai e poi si ferma. Non esegue la scansione a meno che non venga inserito manualmente in un ciclo infinito con determinati criteri.
In parole semplici, con Beautiful Soup puoi costruire qualcosa di simile a Scrapy. Beautiful Soup è una libreria mentre Scrapy è un framework completo .
Penso che entrambi stiano bene ... sto facendo un progetto in questo momento che li uso entrambi. Per prima cosa ho scartato tutte le pagine usando scrapy e l'ho salvato su una raccolta mongodb usando le loro pipeline, scaricando anche le immagini che esistono sulla pagina. Dopodiché uso BeautifulSoup4 per fare un'elaborazione pos dove devo cambiare i valori degli attributi e ottenere alcuni tag speciali.
Se non sai quali prodotti delle pagine desideri, un buon strumento sarà scarso poiché puoi utilizzare i loro crawler per eseguire tutto il sito Web Amazon / eBay alla ricerca dei prodotti senza creare un loop esplicito.
Dai un'occhiata alla documentazione scadente, è molto semplice da usare.
Entrambi stanno usando per analizzare i dati.
Scrapy :
BeautifulSoup :
Beautiful Soup è una libreria Python per estrarre dati da file HTML e XML.
possiamo usare questo pacchetto per ottenere dati dallo script java o caricare pagine dinamicamente.
Scrapy con BeautifulSoup è uno dei migliori combo con cui possiamo lavorare per raschiare contenuti statici e dinamici
Il modo in cui lo faccio è usare l'API di eBay / Amazon piuttosto che scarabocchiare e quindi analizzare i risultati usando BeautifulSoup.
Le API ti offrono un modo ufficiale per ottenere gli stessi dati che avresti ottenuto dal crawler scrapy, senza preoccuparti di nascondere la tua identità, fare casino con i proxy, ecc.
Scrapy È un framework di scraping del web che viene fornito con tonnellate di chicche che facilitano la raschiatura in modo che possiamo concentrarci solo sulla logica di scansione. Di seguito sono riportate alcune delle mie cose preferite che scrapy si prende cura di noi.
Impostazione proxy, agente utente, intestazioni ecc: scrapy ci consente di impostare e ruotare proxy e altre intestazioni in modo dinamico.
Pipeline di articoli : le pipeline ci consentono di elaborare i dati dopo l'estrazione. Ad esempio, possiamo configurare la pipeline per inviare i dati al tuo server mysql.
Cookie: scrapy gestisce automaticamente i cookie per noi.
eccetera.
TLDR: scrapy è un framework che fornisce tutto ciò che potrebbe essere necessario per creare ricerche per indicizzazione su larga scala. Fornisce varie funzionalità che nascondono la complessità della scansione dei nastri. si può semplicemente iniziare a scrivere web crawler senza preoccuparsi del carico di installazione.
Beautiful soup Beautiful Soup è un pacchetto Python per l' analisi di documenti HTML e XML . Quindi con Beautiful soup puoi analizzare una pagina web che è già stata scaricata. BS4 è molto popolare e vecchio. A differenza di scrapy, non puoi usare una bella zuppa solo per fare i crawler . Avrai bisogno di altre librerie come richieste, urllib ecc. Per creare crawler con bs4. Ancora una volta, questo significa che dovresti gestire l'elenco degli URL sottoposti a scansione, da sottoporre a scansione, gestire i cookie, gestire il proxy, gestire gli errori, creare le tue funzioni per inviare i dati a CSV, JSON, XML ecc. Se vuoi velocizzare di quanto dovrete usare altre librerie come il multiprocessing .
Per riassumere.
Scrapy è un framework ricco che è possibile utilizzare per iniziare a scrivere crawler senza problemi.
La bella zuppa è una libreria che puoi usare per analizzare una pagina web. Non può essere utilizzato da solo per raschiare il web.
Dovresti assolutamente usare scrapy per il tuo sito web di confronto dei prezzi dei prodotti Amazon e e-bay. È possibile creare un database di URL ed eseguire il crawler ogni giorno (cron lavori, sedano per la pianificazione di ricerche per indicizzazione) e aggiornare il prezzo sul database. In questo modo il sito Web verrà sempre estratto dal database e il crawler e il database fungeranno da singoli componenti.
BeautifulSoup è una libreria che ti consente di estrarre informazioni da una pagina web.
Scrapy d'altra parte è un framework, che fa la cosa sopra e molte altre cose che probabilmente avrai bisogno nel tuo progetto di scraping come pipeline per il salvataggio dei dati.
Puoi controllare questo blog per iniziare con Scrapy https://www.inkoop.io/blog/web-scraping-using-python-and-scrapy/
Le differenze sono molte e la selezione di qualsiasi strumento / tecnologia dipende dalle esigenze individuali.
Poche differenze principali sono: