Scrapy, Folgen nur internen URLS, die aber alle extrahieren links gefunden

Möchte ich, um alle externen links, die von einer bestimmten website mit Scrapy. Mit dem folgenden code die Spinne krabbelt externe links:

from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
from myproject.items import someItem

class someSpider(CrawlSpider):
  name = 'crawltest'
  allowed_domains = ['someurl.com']
  start_urls = ['http://www.someurl.com/']

  rules = (Rule (LinkExtractor(), callback="parse_obj", follow=True),
  )

  def parse_obj(self,response):
    item = someItem()
    item['url'] = response.url
    return item

Was bin ich? Nicht "allowed_domains" verhindern, dass die externen links gecrawlt werden? Wenn ich "allow_domains" für LinkExtractor es nicht extrahieren Sie die externen links. Nur zur Klarstellung: ich wan ' T crawl-interne links, aber extrahieren externer links. Jede Hilfe appriciated!

  • Wenn ich Sie aktivieren die OffsiteMiddleware die links nicht gecrawlt, aber auch nicht extrahiert. Zumindest kann ich dann sehen "Gefiltert externe Anfrage 'www.externaldomain'. Sicher bin ich etwas fehlt hier trivial?
  • nur um zu verstehen: wollen Sie die Liste aller externen links für eine bestimmte website ?
  • Ja, dass ist richtig!!!!
InformationsquelleAutor sboss | 2015-01-15
Schreibe einen Kommentar