聊聊爬取數(shù)據(jù)的四種技巧
這篇文章,聊聊爬取數(shù)據(jù)的四種技巧。
圖片
1.Jsoup 輕量級HTML解析利器
筆者曾經(jīng)服務(wù)于北京一家彩票公司,使用 JSOUP 抓取競彩的彩票結(jié)果數(shù)據(jù),Jsoup 非常適合處理靜態(tài)網(wǎng)頁的數(shù)據(jù)提取。
它的核心優(yōu)勢:
- 簡單易用:API設(shè)計直觀,學(xué)習(xí)曲線平緩
- CSS選擇器支持:類似jQuery的選擇器語法,定位元素非常方便
圖片
如圖,我們需要解析勝負彩的彩果,只需要找到 id = “kaijiang” 節(jié)點下的第一個 dl 節(jié)點,然后找到 class = “kj_num” 的 dd 節(jié)點對象,獲取它的 html 值即可。
示例代碼如下:
圖片
執(zhí)行結(jié)果:
圖片
2.Charles 抓包分析
Charles 是一款功能強大的HTTP代理工具,主要用于Web開發(fā)和調(diào)試領(lǐng)域。作為一款專業(yè)的HTTP/HTTPS代理服務(wù)器和網(wǎng)絡(luò)抓包工具,它能夠完整記錄和解析所有經(jīng)過代理的網(wǎng)絡(luò)流量。
當(dāng)客戶端(如瀏覽器或移動設(shè)備)通過Charles進行網(wǎng)絡(luò)訪問時,該工具可以實時捕獲并分析所有HTTP/HTTPS請求和響應(yīng)數(shù)據(jù),包括完整的請求頭、響應(yīng)頭、Cookie信息、緩存控制指令等關(guān)鍵網(wǎng)絡(luò)通信細節(jié)。
圖片
筆者在開發(fā)幻視 AI 助手 oneapi 功能時,使用 charles 分析 cherry studio 請求參數(shù) :
圖片
3.Selenium 動態(tài)網(wǎng)頁抓取解決方案
對于很多動態(tài)渲染的網(wǎng)頁而言,想要抓取它的數(shù)據(jù),就需要對網(wǎng)頁的 JS 代碼以及 Ajax 接口等進行分析。
而當(dāng) JS 代碼混亂,難以分析,Ajax 的接口又含有很多加密參數(shù)的時候,就非常難以直接找出規(guī)律,那么上述過程會花費大量的時間和精力。
Selenium 是 web 瀏覽器自動化測試的工具,它可以模擬用戶與所有主流瀏覽器之間的交互,比如點擊,輸入,抓取,拖拽等等。
但是 Selenium 與網(wǎng)絡(luò)爬蟲又有千絲萬縷的關(guān)系,由于現(xiàn)在的網(wǎng)頁大多采用是JavaScript動態(tài)渲染,使得爬蟲返回的結(jié)果可能與用戶實際看到的網(wǎng)頁并不一致。我們看到的網(wǎng)頁可能是經(jīng)過Ajax加載,或者是JavaScript以及其他算法計算后生成的。
因此,我們可以使用 Selenium 直接模擬瀏覽器運行,我們?nèi)庋劭吹降氖鞘裁礃?,能夠抓取的?shù)據(jù)就是什么樣。
筆者曾經(jīng)使用 Selenium 分析 Boss 直聘崗位信息,使用 Selenium 需要配合 chromedriver 使用,流程分為如下三個步驟:
1)進入搜索頁面 , 搜索框中輸入‘自動駕駛’
圖片

2)搜索結(jié)果若出現(xiàn)登錄浮窗,則關(guān)閉,將頁面中職位列表通過 class 截取出來,保存到數(shù)據(jù)庫
圖片

3)點擊下一頁
圖片


4.RPA 機器人流程自動化
Robotic Process Automation(簡稱 RPA )機器人流程自動化,是一種技術(shù),是以軟件機器人 + AI / OCR 等科技能力結(jié)合,在軟件上的某些業(yè)務(wù)操作場景中,達到機器替人,實現(xiàn)重復(fù)的工作自動化。
RPA 通過模擬人在電腦、平板和手機上的操作方式,包括 Web 自動化、桌面軟件自動化、手機 APP 自動化、鼠標(biāo)鍵盤自動化等等,實現(xiàn)不需要人工,替人將操作流程自動化。
也就是說,任何有規(guī)則的工作,你可以讓 RPA 幫你完成,這個時間,你可以做其他任何事情。
而 影刀 正是中國 RPA 軟件的佼佼者,風(fēng)頭正盛。
我們使用影刀,其本質(zhì)就是,合理設(shè)計指令的執(zhí)行順序,讓指令替我們完成重復(fù)性的工作。
圖片
我們可以設(shè)計一個 影刀 RPA 應(yīng)用,結(jié)合大模型 DeepSeek ,幫助 HR 分析候選人是否符合條件。
5.總結(jié)
場景需求 | 推薦技術(shù)方案 | 技術(shù)特點 | 適用條件 |
簡單靜態(tài)頁面 | Jsoup | - 輕量級HTML解析 | 純靜態(tài)頁面 |
復(fù)雜動態(tài)頁面 | Selenium | - 真實瀏覽器環(huán)境 | Web 界面需要執(zhí)行JS 且模擬用戶操作的場景 |
API接口數(shù)據(jù) | Charles/Fiddler分析+代碼模擬 | - 直接抓取數(shù)據(jù)接口 | 前后端分離架構(gòu)的網(wǎng)站/APP |
企業(yè)業(yè)務(wù)流程 | RPA工具(影刀等) | - 跨系統(tǒng)自動化操作 | 模擬完整人工操作流程的場景 |




























