我正在使用scrapy抓取一个电子商务网站,在一些简单的网站上,例如仅使用scrapy或使用飞溅/硒处理大多数情况下,我就遇到了这种情况。 我遇到了一个新的情况,我没有经验可以应对。根据我的调查,它可能像验证码,但没有向用户发出任何请求。
我已经进行过测试,仅凭y皮、,皮和硒就没有成功。
对于我的要求,我收到以下答复
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Challenge Validation</title>
<link rel="stylesheet" type="text/css" href="/_sec/cp_challenge/sec-2-9.css">
<script type="text/javascript">function cp_clge_done(){location.reload(true);}</script>
<script src="/_sec/cp_challenge/sec-cpt-int-2-9.js" async defer></script>
<script type="text/javascript">sessionStorage.setItem('data-duration', 5);</script>
</head>
<body>
<div class="sec-container">
<div id="sec-text-container"><iframe id="sec-text-if" class="custmsg" src="https://beta.elcorteingles.es/sgfm/statics/eci_non_food/contents/cc/cca.html"></iframe></div>
<div id="sec-if-container">
<iframe id="sec-cpt-if" class="crypto" data-key="" data-duration=5 src="/_sec/cp_challenge/ak-challenge-2-9.htm"></iframe>
</div>
</div>
</body>
</html>
我看到chrome检查器也注意到了两个可能相关的GET请求(非Java):
check -> returns HTML ( ... <title>RP iframe</title> ...)
check-session?origin=https%3A%2F%2Fwww.elcorteingles.es -> returns HTML (...<title>OP iframe</title>...)
使用带有view(response)的scrapy shell看起来像是一个验证码情况,正在等待一些东西。页面示例可能是:
草皮外壳“ https://www.elcorteingles.es/supermercado/0110120903000022-coosur-aceite-de-oliva-intenso-1-botella-1-l/”
标题“挑战验证”表明了这一点。我不知道如何处理这种情况。从研究中,我已经看到了涉及易用的中间件的解决方案,但是对于需要用户输入的情况。我没有发现类似这种情况的例子。任何有关如何进行的指导都值得赞赏。