|
@@ -388,8 +388,8 @@ class PaserControl(threading.Thread):
|
|
|
|
|
|
finally:
|
|
|
# 释放浏览器
|
|
|
- if response and hasattr(response, "browser"):
|
|
|
- request._webdriver_pool.put(response.browser)
|
|
|
+ if response and getattr(response, "browser", None):
|
|
|
+ request.render_downloader.put_back(response.browser)
|
|
|
|
|
|
# 发布心跳
|
|
|
self.publish_heartbeat(parser, request, response, **counter)
|
|
@@ -742,8 +742,8 @@ class AirSpiderParserControl(PaserControl):
|
|
|
|
|
|
finally:
|
|
|
# 释放浏览器
|
|
|
- if response and hasattr(response, "browser"):
|
|
|
- request._webdriver_pool.put(response.browser)
|
|
|
+ if response and getattr(response, "browser", None):
|
|
|
+ request.render_downloader.put_back(response.browser)
|
|
|
|
|
|
break
|
|
|
|
|
@@ -1001,6 +1001,10 @@ class JySpiderParserControl(PaserControl):
|
|
|
% (parser.name, "failed_request")
|
|
|
)
|
|
|
|
|
|
+ for result in results:
|
|
|
+ if isinstance(result, Item):
|
|
|
+ self._item_buffer.put_item(result)
|
|
|
+
|
|
|
log.info(
|
|
|
"""
|
|
|
任务超过最大重试次数,丢弃
|
|
@@ -1046,7 +1050,7 @@ class JySpiderParserControl(PaserControl):
|
|
|
finally:
|
|
|
# 释放浏览器
|
|
|
if response and getattr(response, "browser", None):
|
|
|
- request._webdriver_pool.put(response.browser)
|
|
|
+ request.render_downloader.put_back(response.browser)
|
|
|
|
|
|
self.publish_heartbeat(parser, request, response, **counter)
|
|
|
|