停止Scrapy请求管道几分钟,然后重试

时间:2019-02-16 11:25:39

标签: web-scraping scrapy crawlera

我正在使用Scrapy和Crawlera代理来抓取单个域,有时是由于Crawlera问题(技术性中断),我得到了407状态代码,并且无法抓取任何站点。是否可以在10分钟内停止请求管道,然后重新启动蜘蛛程序?需要明确的是,我不会推迟请求,而是将所有内容(可能除了“项目处理”之外)停止10分钟,直到他们解决问题为止。我正在运行10个并发线程。

1 个答案:

答案 0 :(得分:1)

是的,执行此操作的方法很少,但最明显的是只需插入一些阻止代码:

 [SerializeField] private TextMeshProUGUI countdownTimer;
   void Start()
   {
      currentTime = startingTime * Time.deltaTime;
   }

   void Update()
   {
    currentTime -= 1;
    countdownTimer.text = currentTime.ToString("0");
   }

并激活它:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;

 public class BroadScript : GameManagerRevamped
 {
  public override void rightanswersButton()
  {
    base.rightanswersButton();
}


public override void Shuffler()
{
    ShuffleCounter += 1;
    base.Shuffler();
}
public override void firstButtonClicked()
{
    ClicksCounter += 1;
    finalAnswer += "b";
    base.firstButtonClicked();
}

public override void secondButtonClicked()
{
    ClicksCounter += 1;
    finalAnswer += "r";
    base.secondButtonClicked();
}

public override void thirdButtonClicked()
{
    ClicksCounter += 1;
    finalAnswer += "o";
    base.thirdButtonClicked();
}

public override void fourthButtonClicked()
{
    ClicksCounter += 1;
    finalAnswer += "a";
    base.fourthButtonClicked();
}

public override void fifthButtonClicked()
{
    ClicksCounter += 1;
    finalAnswer += "d";
    base.fifthButtonClicked();
}