web-dev-qa-db-ja.com

スクレイピー:リンクとテキストを抽出する

スクレイピーは初めてで、IkeaのWebサイトをスクレイプしようとしています。 here で指定された場所のリストを含む基本ページ。

私のitems.pyファイルは以下のとおりです。

import scrapy


class IkeaItem(scrapy.Item):

    name = scrapy.Field()
    link = scrapy.Field()

そして、spiderは以下のとおりです。

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

ファイルを実行しても、何も出力されません。 jsonファイルの出力は次のようなものです。

[[{"link": [], "name": []}

探している出力は、場所の名前とリンクです。何も得られません。どこがおかしいの?

これを使って....

    item['name'] = sel.xpath('//a/text()').extract()
    item['link'] = sel.xpath('//a/@href').extract()
3
Ganesh