New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
download失败,添加请求,cookie失效 #937
Comments
我来尝试理解一下你的问题,page2 request 依赖于 page1。 那么既然 page1 download 失败了,你要怎么初始化 page 2 request(cookie 等)。 |
page1和page2没有依赖关系,所有的请求cookie都是一样的,我是一开始直接把所有request构建好,在Spider启动时addRequests了,这个时候时模拟登录获取的cookie放到每个request里面,但是这样跑着跑着,出现了cookie失效的情况(可能是cookie反爬?),然后我想把cookie设置有个失效时间,过了失效时间重新获取一下,放到request里,但是如果在Spider启动时构建的request运行中间过程中无法更新cookie |
Request#addCookie 会覆盖旧值吧。 而且你可以试试 Site 级别的 Cookie。 |
对的,我一开始在site里面设置的cookie,使用Spider的addRequest方法,把所有Request添加了进去,但是想要在执行过程中更新request的cookie,这个时候因为是一开始就addRequest添加所有请求了,这个怎么更新cookie啊 |
你的意思是,如何在 downloader 的 onError 方法里获得所有尚未 download 的 requests 吗? 另外,如果你不给 Request 设置 cookies,它会使用 Site 的 cookies。 |
我是想在执行过程中,如果Request的cookie失效了,我给它重新更新一下cookie |
我不太能够理解你的问题。 Request#addCookie 可以更新 cookie。 你是不是想问,在什么地方可以获悉 cookie 已经失效了? |
Spider.create(dmpCateAtvPageProcessor) |
也许我的猜测是对的,你需要的是 Spider#setSpiderListeners 可以设置你自己实现的 |
不对呀,如果page2 和 page1 是一个域名内,不会出现cookie失效的情况。除非是你登录后,被别人给挤下来了,这样那不是爬虫能干预的 |
大佬你好,我现在有一个问题,就是目前我们的PageProcessor里面addTargetRequest是在download success成功情况下才能添加新的请求,假设失败了就会重试,但是如果一直重试失败到达最大次数后,就不能添加新的request了,我尝试在Spider启动时直接addRequests添加构建所有请求,但是这样Request的cookie header就写死了,会出现请求cookie失效,无法灵活更新cookie,这个情况该如何处理呢,能否支持在失败时也可以添加新的Request
The text was updated successfully, but these errors were encountered: