Scrapy сканирует, но не сравнивает с файлом и возвращает ноль - PullRequest
0 голосов
/ 30 мая 2018

Этот паук сделан с идеей сравнения списка ключевых слов из файла с текстом со страницы и извлечения строк / абзацев.

Учитывая следующий паук:

import scrapy
import sys
reload(sys)
sys.setdefaultencoding('utf8')

class StringGrab(scrapy.Spider):
name = "stringpage"
start_urls = [
    'https://whatscookingamerica.net/Glossary/A.htm',

]

def parse(self, response):

    in_file = tuple(open("dictionarA1.csv", "r"))

    for word in in_file:
        for para_text in response.xpath(u'//p/text()[contains(..,"{0}")]'.format(word)).extract():        
            yield {
                'dictA': para_text,
            }

custom_settings = {
    "DOWNLOAD_DELAY": 1,
    "CONCURRENT_REQUESTS_PER_DOMAIN": 10
}

Мой вопрос, как в названии, паук сканирует, показывает код 200 для каждой ссылки (если добавлено больше), но это не такне выдает никакого вывода в CSV-файл.

Edit:

Если я ввожу ключевое слово в поиске и извлечении, оно работает

'dictA0': word.xpath('//p/text()[contains(..,"a la")]').extract(),
'dictA1':  word.xpath('//p/text()[contains(..,"a la Anglaise")]').extract(),

, таким образом, извлечение и записьв файле любой абзац, который содержит "а-ля" и "а-ля английски".

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