原创 瀏覽器爬蟲數據採集可視化解析實現之單頁面的可視化解析

1 前言 在進行數據採集時,也即我們說的爬蟲,抓到數據後通常需要進行解析。在PC端通常需要通過寫代碼進行解析。對於抓取業務較簡單的場景,重複寫代碼完成這樣的工作十分耗時。我們希望通過抓取到頁面數據後,在頁面上進行點選目標元素,就可

原创 JavaScript反調試小技巧

1.函數重定義 防止在當前上下文中使用輸出語句觀察結果。 console.log("Hello World"); var fake = function() {}; window['console']['log'] = fake;

原创 通過UC開發者工具替代Chrome Remote Debug進行手機瀏覽器調試

1.背景 Android移動端瀏覽器環境驗證與測試,可使用vConsole[1],weirne[2],chrome remote debug[3]等方式驗證。當然最理想 的方法是chrome remote debug,通過chro

原创 html A標籤target屬性修改後無效的問題分析

背景 html a標籤的target屬性修改後,會以不同的方式展示新頁面。target=_self時會在當前窗口展示新頁面,target=_blank時會在新標籤頁展示網頁。 我們在chrome的編輯模式下可以在線對這些屬性修改,

原创 通過實例學習SpringStateMachine之TURN STILE

背景介紹 本系列通過學習SpringStateMachine中附帶的10餘個Sample來學習SpringStateMachine中的各個概念和用法。項目是使用的分支爲2.2.0.RELEASE[1]。項目參考文檔也是2.2.0.

原创 HTML5 Canvas指紋及反追蹤介紹

1 Canvas指紋的簡介 很多網站通過Canvas指紋來跟蹤用戶。browserleaks[1]是一個在線檢測canvas指紋的網站。一般的指紋實現原理即通過canvas畫布繪製一些圖形,填寫一些文字,隨後獲取圖形的base64

原创 pupppeteer-page-proxy每個頁面或請求獨立使用代理

1 pupppeteer-page-proxy模塊簡介 puppeteer代理設置方法中介紹了設置代理的幾種方式,其中之一是通過攔截請求,再通過http模塊轉發,給http模塊加上代理實現代理設置。pupppeteer-page-

原创 navigator plugins與mimetyps的模擬實現分析

前言 爲了模擬實現navigator plugins與mimetyps,大致需要做四件事,調整數組類型和數組成員類型、補充缺失的函數、修改toString方法及對象替換。如下的總結雖未模擬完全,但可作爲一種啓發參考。其它操作與此類

原创 Chrome地理位置信息模擬

Chrome經緯度座標信息模擬 通過Chrome的Sensor面板可以設置經緯度與時區。首先我們要設置允許獲取經緯度數據。 在地址欄輸入chrome://settings/content/location[1]進入位置信息面板。首

原创 HTML5 音頻API產生音頻指紋進行用戶追蹤介紹

背景介紹 在瀏覽器上可以通過生成指紋信息來進行反爬蟲或進行用戶追蹤。之前我們提到的有canvas指紋,除此外還有音頻指紋。音頻指紋的思路和canvas指紋類型。在不同瀏覽器不同機器上通過音頻api產生的聲音信息會有略微的差異。因此

原创 chrome android遠程調試工作原理

注意⚠️:本文爲個人學習原理所翻譯的文章,文中介紹的方法還未實踐驗證,不保證有效可用。目前僅進行了原理學習,後續會補充實際操作過程中遇到的問題。 chrome android遠程調試工作原理 Chrome Android 允許通過

原创 puppeteer離線安裝不同版本的chrome

1.背景 使用puppeteer時會默認下載chrome,由於要訪問google,因此沒有使用代理情況下,無法成功下載。通常是設置好環境變量,跳過chrome下載,隨後單獨下載chrome,並在瀏覽器啓動項executablePa

原创 通過實例學習SpringStateMachine之Washer

背景介紹 本系列通過學習SpringStateMachine中附帶的10餘個Sample來學習SpringStateMachine中的各個概念和用法。項目是使用的分支爲2.2.0.RELEASE。項目參考文檔也是2.2.0.REL

原创 SpringBoot中@Enable*與@Import註解

1 背景介紹 我們在開發SpringBoot項目時會引用很多功能包,常會看到@Enable*註解[1]。例如使用Spring StateMachine中@EnableStateMachine註解啓用狀態機相關能力。相關能力就是通過

原创 NodeJs中generic-pool Error: Resource not currently part of this pool分析

1 背景 當我們使用generic-pool在釋放資源時,有可能會出現 Error: Resource not currently part of this pool異常。通過下面的代碼創建一個資源池,來演示出現該異常的情況。 c