1. 程式人生 > >爬蟲總結6

爬蟲總結6

1. 反爬手段和應對

通過通訊協議來反爬
通過使用者行為來反爬

a. 請求頭
	User-Agent
	Referer
	Cookie等
b. 代理ip
c. 驗證碼
	打碼平臺
	截圖識別
	AI
d. 麵包屑
	使用者訪問順序:url_1 url_2 url_3
	爬蟲訪問順序:模擬使用者的訪問順序

e. js反爬
	python重寫js程式碼
	js2py模組
	selenium

f. 切換到移動版

2. js2py模組的使用

import js2py
context = js2py.EvalJs() # 例項化js執行環境
傳入js程式碼,並載入執行
context.execute(js_str)
傳入所需變數
context.變數名 = py定義的變數名
取出js執行後的某個變數的值
ret = context.js中的變數名
#呼叫js中的函式
ret = context.js中的函式名(args)

拓展

pyv8模組
	呼叫js中的v8引擎
js2py模組
	用py實現js的直譯器,載入執行js程式碼
execjs模組
	把js程式碼翻譯成py程式碼,再執行