Python 尝试使用Scrapy登录到管理员,但它没有等待重定向
下面的代码是登录到一个站点的管理面板,但我遇到了一个小问题,希望很容易解决 通常,要登录,我会转到example.com/login,填写表单并点击submit,然后它会将我重定向到example.com/authorize/,这是一个空白页面,大约2秒钟后,我会进入example.com/adminpanel 我的剪贴代码出现的情况是填写并提交表单,然后我得到Python 尝试使用Scrapy登录到管理员,但它没有等待重定向,python,scrapy,web-crawler,Python,Scrapy,Web Crawler,下面的代码是登录到一个站点的管理面板,但我遇到了一个小问题,希望很容易解决 通常,要登录,我会转到example.com/login,填写表单并点击submit,然后它会将我重定向到example.com/authorize/,这是一个空白页面,大约2秒钟后,我会进入example.com/adminpanel 我的剪贴代码出现的情况是填写并提交表单,然后我得到 [scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to
[scrapy.downloadermiddlewares.redirect] DEBUG: Redirecting (302) to <GET example.com/authorize/ >
[scrapy.core.engine] DEBUG: Crawled (200) <GET example.com/authorize/ >
愚蠢的问题:你为什么不手动导航到管理面板,而不是等待重定向?哈哈,这不是一个愚蠢的问题。我真的没有想到要那样做。但我会试试看。我不确定从example.com/authorize/到example.com/adminpanel的转换过程中是否有一些逻辑看起来授权页面正在传递数据,所以这可能是我无法直接访问adminpanel的问题。愚蠢的问题:为什么不手动导航到管理面板,而不是等待重定向?哈哈,这不是一个愚蠢的问题。我真的没有想到要那样做。但我会试试看。我不确定在从example.com/authorize/到example.com/adminpanel的转换过程中是否存在一些逻辑。看起来授权页面正在传递数据,所以这可能是我无法直接访问adminpanel的问题。
class StackSpider(Spider):
name = "stack"
allowed_domains = ["example.com"]
start_urls = [
"https://example.com/login",
]
custom_settings = { 'REDIRECT_MAX_TIMES': 10, 'METAREFRESH_MAXDELAY': 3000 }
def parse(self,response):
logging.warning(response)
__RequestVerificationToken = response.xpath('//*[@name="__RequestVerificationToken"]/@value').get()
yield FormRequest.from_response(
response,
formdata={'__RequestVerificationToken': __RequestVerificationToken, 'username':'test', 'password':'test'},
callback=self.parse_after_login
)
def parse_after_login(self,response):
logging.warning(response)
return