2016-05-17 2 views
6

Ich bin neu in Scrapy Framework und ich habe einige Tutorials mit LinkExtractors und ein paar mit SgmlLinkExtractor gesehen. Ich habe versucht, die Unterschiede/Vor-Nachteile für beide zu suchen, aber die Ergebnisse waren nicht befriedigend.Unterschied zwischen LinkExtractor und SgmlLinkExtractor

Kann mir jemand den Unterschied zwischen beiden sagen? Wann sollten wir die oben genannten Extraktoren verwenden?

Danke!

Antwort

9

Das Problem, warum Sie nicht die Referenzen finden, was SgmlLinkExtractor ist, ist, dass es jetzt (bezogen changeset) veraltet ist. Sie können die SgmlLinkExtractor Definition here finden - in der Scrapy 0,24 Docs.

Und Sie sollten nicht mehr SgmlLinkExtractor verwenden - Scrapy jetzt nur einen einzigen Link-Extraktor verlässt - die LxmlLinkExtractor - die, auf die der LinkExtractor Alias ​​verweist.

+1

Für die Unterschiede basiert 'SgmlLinkExtractor' auf [' sgmllib.SGMLParser'] (https://docs.python.org/2/library/sgmllib.html) ('sgml' Modul ist seit Python 2.6 veraltet) , und ist in Python3 nicht verfügbar), während der Standard 'LinkExtractor' über' lxml' implementiert wird, was etwas schneller und gut gepflegt ist. –