2016-05-17 15 views
6

Sono nuovo di scrapy framework e ho visto alcuni tutorial utilizzando LinkExtractors e alcuni utilizzando SgmlLinkExtractor. Ho provato a cercare le differenze/i pro-contro per entrambi, ma i risultati non sono stati soddisfacenti.Differenza tra LinkExtractor e SgmlLinkExtractor

Qualcuno può dirmi la differenza tra entrambi? Quando dovremmo usare gli estrattori sopra?

Grazie!

risposta

9

Il problema per cui non è possibile trovare i riferimenti a ciò che è SgmlLinkExtractor, è che ora è deprecato (legati changeset). È possibile trovare la definizione SgmlLinkExtractorhere - all'interno dei documenti Scrapy 0.24.

E, non si dovrebbe usare più SgmlLinkExtractor - Scrapy ora lascia un solo estrattore di collegamento singolo - lo LxmlLinkExtractor - quello a cui punta l'alias LinkExtractor.

+1

Per quanto riguarda le differenze, 'SgmlLinkExtractor' è basato su [' sgmllib.SGMLParser'] (https://docs.python.org/2/library/sgmllib.html) (il modulo 'sgml' è deprecato da Python 2.6 , e non è disponibile in Python3), mentre il predefinito 'LinkExtractor' è implementato su' lxml', che è un po 'più veloce e ben mantenuto. –