Scrapy -从javascript脚本响应中检索身份验证令牌

oiopk7p5  于 2023-02-16  发布在  Java
关注(0)|答案(1)|浏览(142)

我需要关于这个特定场景的帮助。

    • 设想**

1.调用部位
http://www.example.com/index.php
我可以从<script>标记中获取此信息
https://www.example.com/anotherpage.php?key=ABCDFG
使用密钥,我必须调用此端点
https://www.example.com/login.php?key=ABCD
用于检索存储在javascript响应中的会话ID

-- omitted

private._sessID='MYSESSIONID';

-- omitted

最后,使用这个sessionId并执行正确的POST操作,我就可以在所有需要的页面中导航了。
"我的僵局"
我可以使用scrapy shellregEx模拟所有步骤(而且都运行良好),但是我不知道在开始数据提取之前如何在scrappy spider中管理这些步骤。
有人能帮我吗?

taor4pac

taor4pac1#

您需要从基本URL http://www.example.com/index.php开始,方法是在启动请求方法中调用它,并编写其回调函数,从其他端点提取信息,然后将结果带入其他回调函数,然后您可以启动scraping进程。
您需要按以下方式实现

class CrawlSpider(scrapy.CrawlSpider):

   def parse_authentication_token(self, response):
      //extract token or whatever require and then call supers parse
      yield from super().parse()

   def start_requests(self):
       return Request(url, callback=self.parse_authentication_token)

相关问题