Как починить паука-скрапа, который ничего не дает - PullRequest
0 голосов
/ 28 августа 2018

следующий паук создает пустой XML-файл при запуске вместо того, который содержит необходимые элементы, вы можете обнаружить ошибку (ы)?

Обратите внимание, что я абсолютный любитель, поэтому использование бритвы Оккама может быть самым простым решением.

Код паука в 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

Код items.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 голосов
/ 28 августа 2018

Почему-то вместо response вы используете переменную selector, которая не определена, но вы должны получить ошибку при запуске этого кода.

UPDATE

У вас ошибка во втором xpath "//*[@id='mw-content-text']/span/span[1]/span[2]/span[3])", и вам следует удалить последнюю скобку в выражении (после span[3])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...