Ho scritto uno script python che elabora una grande quantità di pagine HTML scaricate (pagine 120K). Devo analizzarli ed estrarre alcune informazioni da lì. Ho provato a utilizzare BeautifulSoup, che è facile e intuitivo, ma sembra funzionare molto lentamente. Poiché questo è qualcosa che dovrà essere eseguito regolarmente su una macchina debole (su Amazon), la velocità è importante. c'è un parser HTML/XML in python che funzionerà molto più velocemente di BeautifulSoup? o devo ricorrere all'analisi regex ..Un parser HTML Python veloce
risposta
lxml è un XML veloce e html parser: http://lxml.de/parsing.html
provare: ElementTree potrebbe essere più veloce, ma non sono sicuro.
xml.etree.ElementTree import ElementTree
Stavo per suggerire anche questo ... anche se, non ho dati per supportare i rapporti di prestazione di questo contro BeautifulSoup – inspectorG4dget
parser in stile SAX può essere più veloce di quelli DOM-based. Il tuo codice riceve un flusso di elementi e devi dedurre (e potenzialmente memorizzare) le loro relazioni; ma è sufficiente mantenere lo stato richiesto per ottenere i dati desiderati. Al contrario, i parser in stile DOM devono creare un modello di oggetto navigabile, che richiede tempo (e memoria) che forse non è necessario spendere.
Python ha un parser per HTML; è chiamato HTMLParser
(html.parser
in Python 3). A seconda di quanto sia difficile riconoscere i dati che si desidera estrarre, tuttavia può essere molto difficile riuscire a sgretolare con successo tale analisi. Se dovessi pubblicare un file di esempio e informazioni su quali dati desideri estrarre da esso, potrei probabilmente fare un colpo.
- 1. scrivere un parser veloce in python
- 2. Parser DOM HTML HTML?
- 3. parser HTML per GAE
- 4. Come creare un parser HTML?
- 5. Parser lento ANTLR4 generato in Python, ma veloce in Java
- 6. HTML-parser su Node.js
- 7. html parser codeigniter library?
- 8. Qual è un parser più veloce per XML?
- 9. parser SVG Python
- 10. Microsoft Powerpoint Python Parser
- 11. Python CSS Parser
- 12. Esiste un parser GEDCOM scritto in Python?
- 13. Quale parser Microdata dovrei usare in Python
- 14. Apprendimento del parser in python
- 15. È possibile collegare un parser HTML più robusto a Python mechanize?
- 16. Html Agility Pack è ancora il miglior parser .NET HTML?
- 17. Quale parser HTML è il migliore?
- 18. Il parser HTML convalida i tag
- 19. Migliore parser HTML leggero per Delphi
- 20. Qual è il parser XML più veloce in PHP?
- 21. Python - Fare un Port Scanner veloce
- 22. PHP: il parser JSON o XML è più veloce?
- 23. Un parser JavaScript per DOM
- 24. Crea Great Parser - Estrai testo pertinente da HTML/Blog
- 25. Python: Esiste un pacchetto integrato per analizzare html in dom
- 26. Consigli sui generatori di parser Python
- 27. Come restituire i dati da un parser Python SAX?
- 28. python: esiste un parser XML implementato come generatore?
- 29. Esiste un parser XML Python progettato pensando agli umani?
- 30. tag html analisi con Python
[Tenere lontano il pony ...] (http://stackoverflow.com/a/1732454/554546) –
Non ho esperienza con l'analisi dell'HTML in Python, ma [qui] (http: //blog.ianbicking .org/2008/03/30/python-html-parser-performance /) sono alcuni risultati di benchmark che potresti trovare utili. –
[regex e HTML == errore] (http://stackoverflow.com/a/1732454/554546) –