Ich bin neu zu scrapy und ich versuche, die Ikea Webseite zu kratzen. Die Basisseite mit der Liste der angegebenen Standorte here.Scrapy: Extrahieren Sie Links und Text
import scrapy
class IkeaItem(scrapy.Item):
name = scrapy.Field()
link = scrapy.Field()
Und die Spinne ist unten angegeben:
import scrapy
from ikea.items import IkeaItem
class IkeaSpider(scrapy.Spider):
name = 'ikea'
allowed_domains = ['http://www.ikea.com/']
start_urls = ['http://www.ikea.com/']
def parse(self, response):
for sel in response.xpath('//tr/td/a'):
item = IkeaItem()
item['name'] = sel.xpath('a/text()').extract()
item['link'] = sel.xpath('a/@href').extract()
yield item
Auf Ausführen der Datei, die ich bekommen habe keine Ausgabe
Meine items.py Datei ist unten angegeben. Die JSON-Datei ausgegeben wird, so etwas wie:
[[{"link": [], "name": []}
Die Ausgabe, die ich suche, der Name der Lage ist und der Link. Ich bekomme nichts. Wohin gehe ich falsch?
haben Sie versucht, "ikea.com" als allowed_domains? – aberna
@aberna Welchen Unterschied macht das? Ich werde das so schnell wie möglich versuchen und keinen Unterschied. Keine Leistung. –
Es würde dem scrapy Beispiel folgen, wie in der Dokumentation (http://doc.scrapy.org/en/latest/topics/spiders.html) – aberna