Ho bisogno di fare un progetto abbastanza ampio che coinvolge il web scraping e sto prendendo in considerazione l'utilizzo di Hpricot o Beautiful Soup (cioè Ruby o Python). Qualcuno si è imbattuto in un tutorial che pensavano fosse particolarmente adatto a questo argomento e mi avrebbe aiutato a iniziare il progetto con il piede giusto?Cerchi una raccomandazione di un buon tutorial sulle migliori pratiche per un progetto di scraping web?
risposta
C'è uno Railscasts episode eccellente su ScrAPI.
Non uno strumento, davvero, ma una buona discussione è il libro di Michael Shrenk, Webbots, Spiders, and Screen Scrapers.
Il libro riesce molto bene nella sua missione dichiarata: spiegare come costruire semplici web robot e gestirli in conformità con gli standard della comunità. Non è tutto quello che devi sapere, ma è la migliore introduzione che ho visto. L'attenzione si concentra su semplici robot a thread singolo. C'è un piccolo accenno all'uso di bot multipli che memorizzano i dati in un repository centrale, ma non si discute dei problemi relativi alla scrittura di bot multi-thread o distribuiti che possono elaborare centinaia di pagine al secondo.
Ti consiglio di leggere questo libro se sei interessato a scrivere bot Web, anche se non hai familiarità o intenzione di utilizzare PHP. Ma assicurati di non aspettarti di più delle offerte di libri.
Per Ruby, il toolkit di scrapbook Web Scrubyt è eccellente. Ecco an extensive introduction, che vale la pena di leggere anche se utilizzerai qualche altro strumento.
Cerca su lxml invece di BeautifulSoup. Nonostante il suo nome, è anche per l'analisi e lo scraping di HTML. È molto, molto più veloce di BeautifulSoup, e gestisce anche l'HTML "spezzato" meglio di BeautifulSoup (la loro pretesa di fama - lxml non è così vocale a riguardo). Ha anche un'API di compatibilità per BeautifulSoup se non vuoi imparare l'API lxml.
Non c'è più motivo di utilizzare BeautifulSoup più, a meno che tu non sia su Google App Engine o qualcosa in cui qualcosa non puramente Python non è consentito.
Date un'occhiata alle seguenti screencast:
- http://railscasts.com/episodes/190-screen-scraping-with-nokogiri
- http://railscasts.com/episodes/191-mechanize
O se vi piace la pianura, i asciicasts corrispondenti:
- 1. Un buon progetto Swing per l'apprendimento delle migliori pratiche
- 2. Essendo un buon cittadino e web-scraping
- 3. Esiste un buon tutorial (esempio) per il test unitario del progetto di base di kohana?
- 4. PHP include la domanda sulle migliori pratiche
- 5. Migliori pratiche di Google Maps?
- 6. migliori pratiche per l'iniezione di dipendenza
- 7. Le migliori pratiche per l'interfaccia utente web di selezione multipla?
- 8. Un buon tutorial per iPad SplitViewController?
- 9. Un buon tutorial NASM/FASM?
- 10. È necessario un buon tutorial PyQt
- 11. migliori pratiche di progettazione JSON
- 12. Migliori pratiche del sito Web SSL-protected
- 13. Le migliori pratiche per l'utilizzo di window.onload
- 14. CSS3 - Quali sono le migliori pratiche sulle prestazioni?
- 15. Le migliori pratiche per l'aggiornamento degli argomenti di un frammento?
- 16. Le migliori pratiche per mantenere una sessione di MgO
- 17. Le migliori pratiche per l'utilizzo di risorse in un progetto WPF
- 18. Cos'è un buon tutorial per creare un gioiello con RSpec?
- 19. Raccomandazione per un buon strumento di creazione di diagrammi di relazioni di entità per uso occasionale?
- 20. Quali sono le migliori pratiche per un piccolo team distribuito che funzionerà su un progetto Drupal?
- 21. Le migliori pratiche quando si prende un piccolo progetto da soli
- 22. Migliori pratiche di annullamento attività
- 23. Socket.io Migliori pratiche di codifica
- 24. Qual è un buon punto di partenza, tutorial o progetto, per imparare la programmazione del database?
- 25. LINQ alle migliori pratiche per le applicazioni Web SQL
- 26. Risorse per migliori pratiche, metodi, ecc.
- 27. Configurazione di applicazioni Web asp.net. Le migliori pratiche
- 28. Accettazione delle migliori pratiche di pagamento
- 29. Migliori pratiche di sviluppo di app per Twitter?
- 30. Qualsiasi buon tutorial di debug per React.js
Esiste anche una versione in rubino di Mechanize. –
Grazie per Scrapy. Sembra bello – Alagu