Можно ли сделать (вид) полиморфизм с помощью скрапа - PullRequest
0 голосов
/ 20 декабря 2018

У меня в настоящее время есть некоторые проблемы, пытающиеся приспособить мою программу терапии.То, что я пытаюсь сделать, это заставить работать другой парсер в зависимости от "сайта", в котором я нахожусь.

В настоящее время у меня есть этот запрос на запуск

def start_requests(self):

    txtfile = open('productosABuscar.txt', 'r')

    keywords = txtfile.readlines()

    txtfile.close()

    for keyword in keywords:

        yield Request(self.search_url.format(keyword))

Я хочу найти способ, в зависимости отпо какому ключевому слову, которое я получаю из txt-файла, вызывать разные парсеры для извлечения данных со страницы.

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 20 декабря 2018

как насчет сопоставления обратного вызова в зависимости от ключевого слова, которое вы получили внутри start_requests?Что-то вроде:

def start_requests(self):
    keyword_callback = {
        'keyword1':  self.parse_keyword1,
        'keyword2': self.parse_keyword2,
    }


    txtfile = open('productosABuscar.txt', 'r')

    keywords = txtfile.readlines()

    txtfile.close()

    for keyword in keywords:
        yield Request(self.search_url.format(keyword), callback=keyword_callback[keyword])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...