![](/img/trans.png)
[英]Any option to bypass Incapsula protection in python3 while scraping?
[英]How to bypass Incapsula with Python
我使用Scrapy ,我試圖刮掉這個使用Incapsula的 網站
<meta name="robots" content="noindex,nofollow">
<script src="/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3">
</script>
我已經問了一個問題關於這個問題2年前,但這種方法( Incapsula-餅干 )不工作了。
我試圖理解Incapsula是如何工作的 ,我試圖繞過它
def start_requests(self):
yield Request('https://courses-en-ligne.carrefour.fr', cookies={'store': 92}, dont_filter=True, callback = self.init_shop)
def init_shop(self,response) :
result_content = response.body
RE_ENCODED_FUNCTION = re.compile('var b="(.*?)"', re.DOTALL)
RE_INCAPSULA = re.compile('(_Incapsula_Resource\?SWHANEDL=.*?)"')
INCAPSULA_URL = 'https://courses-en-ligne.carrefour.fr/%s'
encoded_func = RE_ENCODED_FUNCTION.search(result_content).group(1)
decoded_func = ''.join([chr(int(encoded_func[i:i+2], 16)) for i in xrange(0, len(encoded_func), 2)])
incapsula_params = RE_INCAPSULA.search(decoded_func).group(1)
incap_url = INCAPSULA_URL % incapsula_params
yield Request(incap_url)
def parse(self):
print response.body
但我被重定向到RE-Captcha Page
<html style="height:100%">
<head>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body style="margin:0px;height:100%">
<iframe src="/_Incapsula_Resource?CWUDNSAI=27&xinfo=3-10784678-0%200NNN%20RT%281523525225370%20394%29%20q%280%20-1%20-1%20-1%29%20r%280%20-1%29%20B12%284%2c316%2c0%29%20U10000&incident_id=459000960022408474-41333502566401539&edet=12&cinfo=04000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 459000960022408474-41333502566401539
</iframe>
</body>
</html>
首先,沒有針對此類問題的萬無一失的解決方案。 作為一個實際的用戶,我最終必須在回答StackOverflow時解決驗證碼問題。 這意味着機器人肯定會獲得驗證碼。
現在,我嘗試遵循的規則很少,以減少驗證碼的可能性
TOR
是一個很大的NO
Chrome
+ Selenium
+ Proxy
existing profile
我更喜歡擁有具有不同網站瀏覽歷史的配置文件,來自許多其他網站和跟蹤器的cookie以及返回月份。 您不知道如何評估用戶/機器人差異。 所以你想看起來更像真實的用戶 這是一個貓捉老鼠的游戲,你不知道對方有什么防守。 所以你試着玩得很開心
這不是最好的答案,只是給出了一些觀點來理解為什么網絡抓取並不容易,主要是在前面有CDN時。
首先,可能很好地檢查你將要對抗的是什么, WAF和Bot Mitigation 。
然后為了得到更多的想法,這是一個很好的談話: 攻擊者如何繞過CDN來攻擊原點
現在,這並不意味着不可能進行網絡抓取,這里的問題現在減少到時間/速度,你嘗試的東西越快,你觸發驗證碼的變化就越大,最壞的情況下甚至會被完全阻止。
有多種方法,例如每個請求使用不同的IP: 使用Python通過Tor創建請求 ,更改用戶代理等。但是大多數方法都綁定了一組您可能需要找到的定義的超時和查詢模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.