Rastreio com uma sessão autenticada no Scrapy

No meuprevious question, Eu não era muito específico sobre o meu problema (raspando com uma sessão autenticada com o Scrapy), na esperança de poder deduzir a solução de uma resposta mais geral. Eu provavelmente deveria ter usado a palavracrawling.

Então, aqui está o meu código até agora:

class MySpider(CrawlSpider):
    name = 'myspider'
    allowed_domains = ['domain.com']
    start_urls = ['http://www.domain.com/login/']

    rules = (
        Rule(SgmlLinkExtractor(allow=r'-\w+.html

Como você pode ver, a primeira página que visito é a página de login. Se ainda não estiver autenticado (noparse function), chamo meu @ personalizalogin, que é postada no formulário de login. Então, se euso autenticado, quero continuar rastreando.

O problema é que oparseunção @, tentei substituir para fazer login, agora não faz mais as chamadas necessárias para raspar outras páginas (suponho). E não sei como salvar os itens que eu criei.

Alguém já fez algo assim antes? (Autentique e depois rastreie usando umCrawlSpider) Qualquer ajuda seria apreciada

), callback='parse_item', follow=True), ) def parse(self, response): hxs = HtmlXPathSelector(response) if not "Hi Herman" in response.body: return self.login(response) else: return self.parse_item(response) def login(self, response): return [FormRequest.from_response(response, formdata={'name': 'herman', 'password': 'password'}, callback=self.parse)] def parse_item(self, response): i['url'] = response.url # ... do more things return i

Como você pode ver, a primeira página que visito é a página de login. Se ainda não estiver autenticado (noparse function), chamo meu @ personalizalogin, que é postada no formulário de login. Então, se euso autenticado, quero continuar rastreando.

O problema é que oparseunção @, tentei substituir para fazer login, agora não faz mais as chamadas necessárias para raspar outras páginas (suponho). E não sei como salvar os itens que eu criei.

Alguém já fez algo assim antes? (Autentique e depois rastreie usando umCrawlSpider) Qualquer ajuda seria apreciada

questionAnswers(4)

yourAnswerToTheQuestion