Как перенаправить после входа в scrapy - PullRequest
0 голосов
/ 20 июня 2019

Я пишу программу для скрапинга, чтобы войти в скрэп с теми же данными с сайта. Насколько я могу судить, он входит в систему правильно, но когда он входит в систему, он перенаправляет на веб-страницу, и я не хочу, чтобы она очищалась. Мне нужно, чтобы перейти на эту веб-страницу, https://www.starcitygames.com/myaccount/. Как я могу заставить мою программу перейти на эту страницу после входа в систему?

import scrapy
from ..items import NameItem

class LoginSpider(scrapy.Spider):
    name = "LoginSpider"
    start_urls = ["https://www.starcitygames.com/login"]

    def parse(self, response):

        return scrapy.FormRequest.from_response(
        response,
        formdata={'ex_usr_email': 'username', 'ex_usr_pass': 'password'},
        callback=self.after_login
     )

    def after_login(self, response):
        item = NameItem()
        item["Name"] = response.css("div.column_data::text").get()
        return item

1 Ответ

0 голосов
/ 21 июня 2019

Вам нужно разделить на два шага:

def after_login(self, response):
    yield scrapy.Request(url="https://www.starcitygames.com/myaccount/", callback=self.parse_data)

def parse_data(self, response):
    item = NameItem()
    item["Name"] = response.css("div.column_data::text").get()
    return item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...