Найти - Пользователи
Полная версия: Не работает Grab Spider
Начало » Python для новичков » Не работает Grab Spider
1
Ellunium
Здравствуйте!
На Python перешел относительно недавно (стоит версия 3.5). Заинтересовал фреймворк для парсинга Grab Spider. Но вот что-то функционировать он у меня не хочет( Как я ни пытался, метод task_initial не хочет выполняться. То есть к нему программа даже не обращается. Никаких ошибок не выкидывает.

 # coding: utf-8
from urllib.parse import urljoin
from urllib.parse import urlsplit
from grab.spider import Spider, Task
class Parser(Spider):
    initial_urls = ['http://ellunium.ru/']
    def prepare(self):
        self.urls = []
        self.urls_404 = []
        self.urls_200 = []
        self.result_counter = 0
    def task_initial(self,grab,task):
        print('task_initial')
        try:
            links = grab.xpath_list('//a')
        except:
            print("Данные для парсинга не найдены  - %s" % task.url)
        self.domain = urlsplit(task.url)[1]
        print(task.url)
        print(links)
        for link in links:
            if ('href' in link.attrib):
                url = urljoin(task.url, link.attrib['href']).split('#')[0]
                if (not (url in self.urls) and ((urlsplit(url)[1] == self.domain) or (urlsplit(url)[1] == "www." + self.domain))):
                    self.urls.append(url)
                   
bot = Parser()
bot.run()
Ellunium
Пробовал создавать задания через task_generator и add_task - тоже ни к чему не привело
Ellunium
Люди ау, что никто со Spider не работает?
Ellunium
Большое спасибо всем кто захотел помочь! Потратил много времени, но разобрался сам.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB