title: Proxy Pooling System for Scrapy to temporarily stop using slow/timing out proxies
body: <p>I've been looking around trying to find a decent pooling system for Scrapy but I can't find anything that has everything I need/want.</p>
  
  <p>I'm looking for a solution to:</p>
  
  <h3>Rotate proxies</h3>
  
  <ul>
  <li>I'd like them randomly switch between proxies but never selecting the same proxy twice in a row. (Scrapoxy has this)</li>
  </ul>
  
  <h3>Impersonate Known Browsers</h3>
  
  <ul>
  <li>Impersonate Chrome, Firefox, Internet Explorer, Edge, Safari... etc (Scrapoxy has this)</li>
  </ul>
  
  <h3>Blacklist Slow Proxies</h3>
  
  <ul>
  <li><p>If the proxy times out or is slow it should be blacklisted through a series of rules... (Scrapoxy only has blacklisting for number of instances / startups)</p></li>
  <li><p>If a proxy is slow (takes over x time) it should be marked as <code>Slow</code> and a timestamp should be taken and a counter should be increased.</p></li>
  <li>If a proxy timeout's it should be marked as <code>Fail</code> and a timestamp should be taken and a counter should be increased.</li>
  <li>If a proxy has no slows for 15 minutes after receiving its last slow then the counter &amp; timestamp should be zeroed and the proxy gets returns back to a fresh state.</li>
  <li>If a proxy has no fails for 30 minutes after receiving its last fail then the counter &amp; timestamp should be zeroed and the proxy gets returns back to a fresh state.</li>
  <li>If a proxy is slow 5 times in 1 hour then it should be removed from the pool for 1 hour.</li>
  <li>If a proxy timeout's 5 times in 1 hour then it should be blacklisted for 1 hour</li>
  <li>If a proxy get's blocked twice in 3 hours it should be blacklisted for 12 hours and marked as bad</li>
  <li>If a proxy gets marked as bad twice in 48 hours then it should notify me (email, push bullet... anything)</li>
  </ul>
  
  <p>Anyone know of any such solution (the main feature being the blacklisting of slow/timed out proxies...</p>