|
@@ -48,6 +48,7 @@ def get_acw_sc_v2(param):
|
|
|
|
|
|
|
|
|
def pay_proxy():
|
|
|
+ tools.delay_time(2)
|
|
|
url = 'http://tiqu.pyhttp.taolop.com/getflowip?count=1&neek=80160&type=1&sep=1&sb=&ip_si=1&mr=0'
|
|
|
response = requests.get(url)
|
|
|
proxy = response.content.decode().strip()
|
|
@@ -124,7 +125,7 @@ class DetailSpider(feapder.AirSpider):
|
|
|
|
|
|
def ali_robots(self, request, limit=3):
|
|
|
"""
|
|
|
- 阿里无感机器人验证
|
|
|
+ 阿里无感机器人滑块验证
|
|
|
|
|
|
@param request
|
|
|
@param limit 最大重试次数
|
|
@@ -132,7 +133,6 @@ class DetailSpider(feapder.AirSpider):
|
|
|
retries_count = 0
|
|
|
proxies = request.proxies
|
|
|
while retries_count < limit:
|
|
|
- # 尝试通过滑块验证的cookies会话信息,进行采集
|
|
|
cookies = self.cookie_pool.create_cookies(proxy=proxies.get("http"))
|
|
|
if not cookies or len(cookies) <= 1:
|
|
|
proxies = self.proxy
|
|
@@ -262,12 +262,9 @@ class DetailSpider(feapder.AirSpider):
|
|
|
request.count = 0
|
|
|
yield request
|
|
|
else:
|
|
|
- # 情况1.2、acw_3
|
|
|
- self.ali_robots(request)
|
|
|
- if request.count > 4:
|
|
|
- log.error(f'阿里人机验证失败,尝试次数:{request.count}')
|
|
|
- return
|
|
|
- request.count += 1
|
|
|
+ # 清cookies切代理
|
|
|
+ request.session.cookies.clear_session_cookies()
|
|
|
+ self._proxies = self.proxy
|
|
|
yield request
|
|
|
else:
|
|
|
contenthtml, state = self.extract_html(request, response)
|