如何修复一无所有的刮scrap蜘蛛

时间:2018-08-28 08:09:29

标签: python scrapy

下面的蜘蛛程序在运行时会创建一个空白的.xml文件,而不是包含所需项目的文件,您能找出错误吗?

请注意,我绝对是业余爱好者,因此使用Occam剃刀可能是最简单的解决方法。

arakaali.py中的蜘蛛代码:

import scrapy
from PoExtractor.items import PoextractorItem


class RedditSpider(scrapy.Spider):
    name = "arakaali"
    start_urls = [
        "https://pathofexile.gamepedia.com/Araku_Tiki"
    ]

    def parse(self, response):
            item = PoextractorItem()
            item["item_name"] = selector.xpath("//*[@id='mw-content-text']/span/span[1]/span[1]/text()[1]").extract()
            item["flavor_text"] = selector.xpath("//*[@id='mw-content-text']/span/span[1]/span[2]/span[3])").extract()
            yield item

item.py的代码:

import scrapy


    class PoextractorItem(scrapy.Item):

        flavor_text = scrapy.Field()
        item_name = scrapy.Field()
        pass

然后我使用命令scrapy crawl arakaali,但是结果是空白文档。

我要从中提取数据的页面是https://pathofexile.gamepedia.com/Araku_Tiki

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用response变量来代替selector,该变量未定义,但是在运行该代码时会出现错误。

更新

第二个xpath "//*[@id='mw-content-text']/span/span[1]/span[2]/span[3])"中有一个错误,应删除表达式中的最后一个括号(在span[3]之后)