这种防爬虫机制怎么过?
这个网站freeget.co/ 带了防爬机制,但不知道这是何种防爬这么厉害的。
不带header头返回的是
<code> <meta name="robots" content="noindex,nofollow"> <script> (function() { function getSessionCookies() { cookieArray = new Array(); var cName = /^\s?incap_ses_/; var c = document.cookie.split(";"); for (var i = 0; i < c.length; i++) { key = c[i].substr(0, c[i].indexOf("=")); value = c[i].substr(c[i].indexOf("=") + 1, c[i].length); if (cName.test(key)) { cookieArray[cookieArray.length] = value } } return cookieArray } function setIncapCookie(vArray) { try { cookies = getSessionCookies(); digests = new Array(cookies.length); for (var i = 0; i < cookies.length; i++) { digests[i] = simpleDigest((vArray) + cookies[i]) } res = vArray + ",digest=" + (digests.join()) } catch (e) { res = vArray + ",digest=" + (encodeURIComponent(e.toString())) } createCookie("___utmvc", res, 20) } function simpleDigest(mystr) { var res = 0; for (var i = 0; i < mystr.length; i++) { res += mystr.charCodeAt(i) } return res } function createCookie(name, value, seconds) { if (seconds) { var date = new Date(); date.setTime(date.getTime() + (seconds * 1000)); var expires = "; expires=" + date.toGMTString() } else { var expires = "" } document.cookie = name + "=" + value + expires + "; path=/" } function test(o) { var res = ""; var vArray = new Array(); for (var j = 0; j < o.length; j++) { var test = o[j][0] switch (o[j][1]) { case "exists": try { if(typeof(eval(test)) != "undefined"){ vArray[vArray.length] = encodeURIComponent(test + "=true") } else{ vArray[vArray.length] = encodeURIComponent(test + "=false") } } catch (e) { vArray[vArray.length] = encodeURIComponent(test + "=false") } break; case "value": try { vArray[vArray.length] = encodeURIComponent(test + "=" + eval(test).toString()) } catch (e) { vArray[vArray.length] = encodeURIComponent(test + "=" + e) } break; case "value_or_nil": try{ if(typeof(eval(test)) != "undefined"){ vArray[vArray.length] = encodeURIComponent(test + "=" + eval(test).toString()) } else{ vArray[vArray.length] = encodeURIComponent(test + "=nil") } } catch(e){ vArray[vArray.length] = encodeURIComponent(test + ":" + test_type + "=" + e) } break; case "plugin_extentions": try { extentions = [] try { i = extentions.indexOf("i") } catch (e) { vArray[vArray.length] = encodeURIComponent("plugin_ext=indexOf is not a function") break; } for (var i=0;i<navigator.plugins.length;i++) { if (typeof(navigator.plugins[i]) == "undefined") { vArray[vArray.length] = encodeURIComponent("plugin_ext=plugins[i] is undefined"); break; } filename = navigator.plugins[i].filename if (typeof(filename) == "undefined") { vArray[vArray.length] = encodeURIComponent("plugin_ext=filename is undefined"); break; } if (filename.split(".").length == 2) { ext = filename.split(".")[1] if (extentions.indexOf(ext) < 0) { extentions.push(ext) } } } for (i = 0; i < extentions.length; i++) { vArray[vArray.length] = encodeURIComponent("plugin_ext=" + extentions[i]); } } catch (e) { vArray[vArray.length] = encodeURIComponent("plugin_ext=" + e) } break; case "plugins": try{ p=navigator.plugins pres="" for (a in p){pres+=(p[a]['description']+" ").substring(0,20)} vArray[vArray.length] = encodeURIComponent("plugins=" + pres); } catch(e){ vArray[vArray.length] = encodeURIComponent("plugins=" +e); } break; case "plugin": try { a = navigator.plugins; for (i in a) { f = a[i]["filename"].split("."); if (f.length == 2) { vArray[vArray.length] = encodeURIComponent("plugin=" + f[1]); break } } } catch (e) { vArray[vArray.length] = encodeURIComponent("plugin=" + e) } break } } vArray = vArray.join(); return vArray } var o = [ ["navigator", "exists"], ["navigator.vendor", "value"], ["navigator.vendor", "value_or_nil"], ["opera", "exists"], ["ActiveXObject", "exists"], ["navigator.appName", "value"], ["navigator.appName", "value_or_nil"], ["platform", "plugin"], ["platform", "plugin_extentions"], ["webkitURL", "exists"], ["navigator.plugins.length==0", "value"], ["navigator.plugins.length==0", "value_or_nil"], ["_phantom", "exists"] ]; try { setIncapCookie(test(o)); document.createElement("img").src = "/_Incapsula_Resource?SWKMTFSR=1&e=" + Math.random() } catch (e) { img = document.createElement("img"); img.src = "/_Incapsula_Resource?SWKMTFSR=1&e=" + e } })(); </script> <script> (function() { var z="";var b="7472797B766172207868723B76617220743D6E6577204461746528292E67657454696D6528293B766172207374617475733D227374617274223B7661722074696D696E673D6E65772041727261792833293B77696E646F772E6F6E756E6C6F61643D66756E6374696F6E28297B74696D696E675B325D3D22723A222B286E6577204461746528292E67657454696D6528292D74293B646F63756D656E742E637265617465456C656D656E742822696D6722292E7372633D222F5F496E63617073756C615F5265736F757263653F4553324C555243543D363726743D373826643D222B656E636F6465555249436F6D706F6E656E74287374617475732B222028222B74696D696E672E6A6F696E28292B222922297D3B69662877696E646F772E584D4C4874747052657175657374297B7868723D6E657720584D4C48747470526571756573747D656C73657B7868723D6E657720416374697665584F626A65637428224D6963726F736F66742E584D4C4854545022297D7868722E6F6E726561647973746174656368616E67653D66756E6374696F6E28297B737769746368287868722E72656164795374617465297B6361736520303A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2072657175657374206E6F7420696E697469616C697A656420223B627265616B3B6361736520313A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2073657276657220636F6E6E656374696F6E2065737461626C6973686564223B627265616B3B6361736520323A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2072657175657374207265636569766564223B627265616B3B6361736520333A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2070726F63657373696E672072657175657374223B627265616B3B6361736520343A7374617475733D22636F6D706C657465223B74696D696E675B315D3D22633A222B286E6577204461746528292E67657454696D6528292D74293B6966287868722E7374617475733D3D323030297B706172656E742E6C6F636174696F6E2E72656C6F616428297D627265616B7D7D3B74696D696E675B305D3D22733A222B286E6577204461746528292E67657454696D6528292D74293B7868722E6F70656E2822474554222C222F5F496E63617073756C615F5265736F757263653F535748414E45444C3D343633303637323631383038353637323936362C363535313031303239383433303638333038302C31353637393036393730303739363436333136352C333439303537222C66616C7365293B7868722E73656E64286E756C6C297D63617463682863297B7374617475732B3D6E6577204461746528292E67657454696D6528292D742B2220696E6361705F6578633A20222B633B646F63756D656E742E637265617465456C656D656E742822696D6722292E7372633D222F5F496E63617073756C615F5265736F757263653F4553324C555243543D363726743D373826643D222B656E636F6465555249436F6D706F6E656E74287374617475732B222028222B74696D696E672E6A6F696E28292B222922297D3B";for (var i=0;i<b.length;i+=2){z=z+parseInt(b.substring(i, i+2), 16)+",";}z = z.substring(0,z.length-1); eval(eval('String.fromCharCode('+z+')'));})(); </script> <iframe style="display:none;visibility:hidden;" src="//content.incapsula.com/jsTest.html" id="gaIframe"></iframe> </code>
还有下面的的带了header头的
<code> <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"> <iframe src="/_Incapsula_Resource?CWUDNSAI=9&xinfo=6-56800294-0%200NNN%20RT(1460895856602%200)%20q(0%20-1%20-1%20-1)%20r(0%20-1)%20B12(4,315,0)%20U10000&incident_id=406000510241030862-742862014603723574&edet=12&cinfo=04000000" frameborder="0" width="100%" height="100%" marginheight="0px" marginwidth="0px"> Request unsuccessful. Incapsula incident ID: 406000510241030862-742862014603723574 </iframe> </code>
回复内容:
这个网站freeget.co/ 带了防爬机制,但不知道这是何种防爬这么厉害的。
不带header头返回的是
<code> <meta name="robots" content="noindex,nofollow"> <script> (function() { function getSessionCookies() { cookieArray = new Array(); var cName = /^\s?incap_ses_/; var c = document.cookie.split(";"); for (var i = 0; i < c.length; i++) { key = c[i].substr(0, c[i].indexOf("=")); value = c[i].substr(c[i].indexOf("=") + 1, c[i].length); if (cName.test(key)) { cookieArray[cookieArray.length] = value } } return cookieArray } function setIncapCookie(vArray) { try { cookies = getSessionCookies(); digests = new Array(cookies.length); for (var i = 0; i < cookies.length; i++) { digests[i] = simpleDigest((vArray) + cookies[i]) } res = vArray + ",digest=" + (digests.join()) } catch (e) { res = vArray + ",digest=" + (encodeURIComponent(e.toString())) } createCookie("___utmvc", res, 20) } function simpleDigest(mystr) { var res = 0; for (var i = 0; i < mystr.length; i++) { res += mystr.charCodeAt(i) } return res } function createCookie(name, value, seconds) { if (seconds) { var date = new Date(); date.setTime(date.getTime() + (seconds * 1000)); var expires = "; expires=" + date.toGMTString() } else { var expires = "" } document.cookie = name + "=" + value + expires + "; path=/" } function test(o) { var res = ""; var vArray = new Array(); for (var j = 0; j < o.length; j++) { var test = o[j][0] switch (o[j][1]) { case "exists": try { if(typeof(eval(test)) != "undefined"){ vArray[vArray.length] = encodeURIComponent(test + "=true") } else{ vArray[vArray.length] = encodeURIComponent(test + "=false") } } catch (e) { vArray[vArray.length] = encodeURIComponent(test + "=false") } break; case "value": try { vArray[vArray.length] = encodeURIComponent(test + "=" + eval(test).toString()) } catch (e) { vArray[vArray.length] = encodeURIComponent(test + "=" + e) } break; case "value_or_nil": try{ if(typeof(eval(test)) != "undefined"){ vArray[vArray.length] = encodeURIComponent(test + "=" + eval(test).toString()) } else{ vArray[vArray.length] = encodeURIComponent(test + "=nil") } } catch(e){ vArray[vArray.length] = encodeURIComponent(test + ":" + test_type + "=" + e) } break; case "plugin_extentions": try { extentions = [] try { i = extentions.indexOf("i") } catch (e) { vArray[vArray.length] = encodeURIComponent("plugin_ext=indexOf is not a function") break; } for (var i=0;i<navigator.plugins.length;i++) { if (typeof(navigator.plugins[i]) == "undefined") { vArray[vArray.length] = encodeURIComponent("plugin_ext=plugins[i] is undefined"); break; } filename = navigator.plugins[i].filename if (typeof(filename) == "undefined") { vArray[vArray.length] = encodeURIComponent("plugin_ext=filename is undefined"); break; } if (filename.split(".").length == 2) { ext = filename.split(".")[1] if (extentions.indexOf(ext) < 0) { extentions.push(ext) } } } for (i = 0; i < extentions.length; i++) { vArray[vArray.length] = encodeURIComponent("plugin_ext=" + extentions[i]); } } catch (e) { vArray[vArray.length] = encodeURIComponent("plugin_ext=" + e) } break; case "plugins": try{ p=navigator.plugins pres="" for (a in p){pres+=(p[a]['description']+" ").substring(0,20)} vArray[vArray.length] = encodeURIComponent("plugins=" + pres); } catch(e){ vArray[vArray.length] = encodeURIComponent("plugins=" +e); } break; case "plugin": try { a = navigator.plugins; for (i in a) { f = a[i]["filename"].split("."); if (f.length == 2) { vArray[vArray.length] = encodeURIComponent("plugin=" + f[1]); break } } } catch (e) { vArray[vArray.length] = encodeURIComponent("plugin=" + e) } break } } vArray = vArray.join(); return vArray } var o = [ ["navigator", "exists"], ["navigator.vendor", "value"], ["navigator.vendor", "value_or_nil"], ["opera", "exists"], ["ActiveXObject", "exists"], ["navigator.appName", "value"], ["navigator.appName", "value_or_nil"], ["platform", "plugin"], ["platform", "plugin_extentions"], ["webkitURL", "exists"], ["navigator.plugins.length==0", "value"], ["navigator.plugins.length==0", "value_or_nil"], ["_phantom", "exists"] ]; try { setIncapCookie(test(o)); document.createElement("img").src = "/_Incapsula_Resource?SWKMTFSR=1&e=" + Math.random() } catch (e) { img = document.createElement("img"); img.src = "/_Incapsula_Resource?SWKMTFSR=1&e=" + e } })(); </script> <script> (function() { var z="";var b="7472797B766172207868723B76617220743D6E6577204461746528292E67657454696D6528293B766172207374617475733D227374617274223B7661722074696D696E673D6E65772041727261792833293B77696E646F772E6F6E756E6C6F61643D66756E6374696F6E28297B74696D696E675B325D3D22723A222B286E6577204461746528292E67657454696D6528292D74293B646F63756D656E742E637265617465456C656D656E742822696D6722292E7372633D222F5F496E63617073756C615F5265736F757263653F4553324C555243543D363726743D373826643D222B656E636F6465555249436F6D706F6E656E74287374617475732B222028222B74696D696E672E6A6F696E28292B222922297D3B69662877696E646F772E584D4C4874747052657175657374297B7868723D6E657720584D4C48747470526571756573747D656C73657B7868723D6E657720416374697665584F626A65637428224D6963726F736F66742E584D4C4854545022297D7868722E6F6E726561647973746174656368616E67653D66756E6374696F6E28297B737769746368287868722E72656164795374617465297B6361736520303A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2072657175657374206E6F7420696E697469616C697A656420223B627265616B3B6361736520313A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2073657276657220636F6E6E656374696F6E2065737461626C6973686564223B627265616B3B6361736520323A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2072657175657374207265636569766564223B627265616B3B6361736520333A7374617475733D6E6577204461746528292E67657454696D6528292D742B223A2070726F63657373696E672072657175657374223B627265616B3B6361736520343A7374617475733D22636F6D706C657465223B74696D696E675B315D3D22633A222B286E6577204461746528292E67657454696D6528292D74293B6966287868722E7374617475733D3D323030297B706172656E742E6C6F636174696F6E2E72656C6F616428297D627265616B7D7D3B74696D696E675B305D3D22733A222B286E6577204461746528292E67657454696D6528292D74293B7868722E6F70656E2822474554222C222F5F496E63617073756C615F5265736F757263653F535748414E45444C3D343633303637323631383038353637323936362C363535313031303239383433303638333038302C31353637393036393730303739363436333136352C333439303537222C66616C7365293B7868722E73656E64286E756C6C297D63617463682863297B7374617475732B3D6E6577204461746528292E67657454696D6528292D742B2220696E6361705F6578633A20222B633B646F63756D656E742E637265617465456C656D656E742822696D6722292E7372633D222F5F496E63617073756C615F5265736F757263653F4553324C555243543D363726743D373826643D222B656E636F6465555249436F6D706F6E656E74287374617475732B222028222B74696D696E672E6A6F696E28292B222922297D3B";for (var i=0;i<b.length;i+=2){z=z+parseInt(b.substring(i, i+2), 16)+",";}z = z.substring(0,z.length-1); eval(eval('String.fromCharCode('+z+')'));})(); </script> <iframe style="display:none;visibility:hidden;" src="//content.incapsula.com/jsTest.html" id="gaIframe"></iframe> </code>
还有下面的的带了header头的
<code> <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"> <iframe src="/_Incapsula_Resource?CWUDNSAI=9&xinfo=6-56800294-0%200NNN%20RT(1460895856602%200)%20q(0%20-1%20-1%20-1)%20r(0%20-1)%20B12(4,315,0)%20U10000&incident_id=406000510241030862-742862014603723574&edet=12&cinfo=04000000" frameborder="0" width="100%" height="100%" marginheight="0px" marginwidth="0px"> Request unsuccessful. Incapsula incident ID: 406000510241030862-742862014603723574 </iframe> </code>
如果你搜搜Incapsula,你就会知道答案。
和CloudFlare一样,对访客进行分析,判断好坏。
如果你想知道怎么过,那么最简单的方法就是模拟一次真实访问。
一样的IP一样的UA以及自己先访问一次获取到所有COOKIE并使用在爬虫上。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。

PHP在電子商務、內容管理系統和API開發中廣泛應用。 1)電子商務:用於購物車功能和支付處理。 2)內容管理系統:用於動態內容生成和用戶管理。 3)API開發:用於RESTfulAPI開發和API安全性。通過性能優化和最佳實踐,PHP應用的效率和可維護性得以提升。

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP仍然具有活力,其在現代編程領域中依然佔據重要地位。 1)PHP的簡單易學和強大社區支持使其在Web開發中廣泛應用;2)其靈活性和穩定性使其在處理Web表單、數據庫操作和文件處理等方面表現出色;3)PHP不斷進化和優化,適用於初學者和經驗豐富的開發者。
