code4craft / webmagic

A scalable web crawler framework for Java.
http://webmagic.io/
Apache License 2.0
11.45k stars 4.18k forks source link

关于失败后动态切换代理的问题 #1174

Open YOHN89 opened 3 months ago

YOHN89 commented 3 months ago

需求:需要在抓取数据的请求超时之后,能自动切换到一个新的代理ip,因为在我们的场景下,代理ip是有时效的,存活大概就2~3分钟左右。看了很多文档和问题,推荐的做法是自定义一个proxyProvider来实现动态切换代理。 问题:我在proxyProvider里怎么才能能知道上次的请求已经超时了呢?

sutra commented 3 months ago

returnProxy 的入参有 Page 和 Task,可以获得上次请求的情况: us.codecraft.webmagic.proxy.ProxyProvider.returnProxy(Proxy, Page, Task)