如何在scrapy运行之前手动进行身份验证?

2024-04-27 12:09:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在登录之前抓取一个使用了大量验证码挑战的网页(例如,顺序超过20个挑战)。你知道吗

我如何登录,我解决验证码,用我的物理手,即不与硒等,然后有网页刮擦运行。我试着在零碎的文档、教程和网络搜索中找到同样的代码,但什么也没找到。你知道吗

强制性代码不能完成我要求的操作:

import scrapy

class BadSpider(scrapy.Spider):
    name = "bad"

    def start_requests(self):
        [...]

    def parse(self, response):
        if (response.url.endswith('/login')):
            print('!!!!! I have no idea what to do here!!!!')
        else:
            [...]

我想它开始后,我已经手动验证。但是,相反,它开始了,我还没有登录,所以我不能进一步。你知道吗


Tags: 代码文档importself网络网页顺序response
1条回答
网友
1楼 · 发布于 2024-04-27 12:09:17
  1. 您只需在浏览器中手动进行身份验证
  2. 然后打开浏览器的DevTools
  3. 导航到“网络”选项卡
  4. 重新加载要刮取的页面
  5. 然后在Network选项卡中,右键单击第一个请求并查找Copy as cURL (bash)选项
  6. 转到https://curl.trillworks.com/并粘贴代码
  7. 复制邮件头和cookies,然后你就完成了

PS:我建议在mozillafirefox中执行这个操作,因为有时Chrome的DevTools在https://curl.trillworks.com/中会产生不正确的结果

相关问题 更多 >