js反爬學習(一)谷歌映象

2022-01-29 10:30:34 字數 2447 閱讀 2081

3. 過程分析:

3.1 開啟chrome除錯,進行元素分析。隨便定位乙個「現在訪問」

3.3 對資源全域性搜尋,找到visit函式:

3.4 看到它還呼叫了乙個strdecode函式,再去找:

3.5 看到它還呼叫了乙個base64decode函式,接著找:

上面的變數也是需要的。

3.6 接下來,把所有用到的js**放到乙個js檔案中去,稍微重構一下js**。

js**如下:

//

var url = strdecode(url);

var gword = "author: [email protected].";

var hn = 'ac.scmor.com'

function

strdecode(string)

return

base64decode(code);

}function

base64decode(str)

while (i < len && c1 == -1);if (c1 == -1)

break

; do

while (i < len && c2 == -1);if (c2 == -1)

break

; out += string.fromcharcode((c1 << 2) | ((c2 & 0x30) >> 4));

do while (i < len && c3 == -1);if (c3 == -1)

break

; out += string.fromcharcode(((c2 & 0xf) << 4) | ((c3 & 0x3c) >> 2));

do while (i < len && c4 == -1);if (c4 == -1)

break

; out += string.fromcharcode(((c3 & 0x03) << 6) |c4);

}return

out;

}var base64decodechars = new array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);

其中有兩個變數需要在網頁原始碼中去尋找,gword和hn,找到之後在js**中定義變數即可,如上。

import

execjs

defgetjs():

jsstr = ''

with open(

'jscode.js

', 'r'

) as f:

s =f.readline()

while

s: jsstr +=s

s =f.readline()

#print(jsstr)

return

jsstr

if__name__ == '

__main__':

jsstr =getjs()

ctx =execjs.compile(jsstr)

visitparam = '

ad0mwaw6dxygefdyjeaagca2bfclongbamymfjrds1ovgfbc

'url = ctx.call('

strdecode

', visitparam)

print(url)

作為乙個爬蟲工作者,我的js真的是弱爆了。

反爬與反反爬(一)

1.伺服器反爬原因 2.伺服器常反什麼樣的爬蟲 3.反爬蟲領域常見的一些概念 誤傷 在反爬蟲的過程中,錯誤的將普通使用者識別為爬蟲。誤傷率高的反爬蟲策略,效果再好也不能用。攔截 成功的阻止爬蟲訪問。這裡會有攔截率的概念。通常來說,攔截率越高的反爬蟲策略,誤傷的可能性就越高。因為需要做個權衡。資源 機...

python css偏移反爬(一)

目標 css法詳解可到崔佬的檢視,在此以表感謝,學習了。import requests import re from parsel import selector css法 def spider url resp requests.get url sel selector resp.text em ...

Django專案學習 反爬措施

在設定中新增個ip pool,實則是個字典,記錄登入的ip 設定黑名單功能 請求過於頻繁,請於五分鐘之後再嘗試!else return func blank,request return inner 反爬蟲工具裝飾器 defdefined spider func def inner blank,re...