自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

寫了個(gè)簡(jiǎn)單爬蟲,收集 Boss 直聘自動(dòng)駕駛崗位

開發(fā) 前端
架構(gòu)Selenium 模擬瀏覽器動(dòng)作,除了加載需要的數(shù)據(jù)外,還會(huì)加載圖片、JS、CSS等不必要的內(nèi)容,導(dǎo)致網(wǎng)絡(luò)資源和計(jì)算資源消耗增加,爬取速度變慢,爬取規(guī)模受限。

朋友想知道 Boss 直聘上關(guān)于自動(dòng)駕駛的崗位有哪些 ,于是,筆者寫了一個(gè)簡(jiǎn)單的爬蟲 crawler-boss ,將全國(guó)大城市相關(guān)崗位的信息收集起來(lái)。

這篇文章,筆者想分享爬蟲 crawler-boss 的設(shè)計(jì)思路。

圖片圖片

一、基本原理 Selenium + chromedriver

對(duì)于很多動(dòng)態(tài)渲染的網(wǎng)頁(yè)而言,想要抓取它的數(shù)據(jù),就需要對(duì)網(wǎng)頁(yè)的 JS 代碼以及 Ajax 接口等進(jìn)行分析。

而當(dāng) JS 代碼混亂,難以分析,Ajax 的接口又含有很多加密參數(shù)的時(shí)候,就非常難以直接找出規(guī)律,那么上述過(guò)程會(huì)花費(fèi)大量的時(shí)間和精力。

圖片圖片

上圖中, Boss  直聘接口參數(shù)比較多,筆者并不想花太多時(shí)間研究這些參數(shù),于是筆者選擇了另一種方案:Selenium + chromedriver。

Selenium是 web 瀏覽器自動(dòng)化測(cè)試的工具,它可以模擬用戶與所有主流瀏覽器之間的交互,比如點(diǎn)擊,輸入,抓取,拖拽等等。

由于網(wǎng)頁(yè)大多采用是 JavaScript 動(dòng)態(tài)渲染,使得爬蟲返回的結(jié)果可能與用戶實(shí)際看到的網(wǎng)頁(yè)并不一致。我們看到的網(wǎng)頁(yè)可能是經(jīng)過(guò) Ajax 加載,或者是JavaScript以及其他算法計(jì)算后生成的。

因此,我們可以使用 Selenium直接模擬瀏覽器運(yùn)行,我們?nèi)庋劭吹降氖鞘裁礃?,能夠抓取的?shù)據(jù)就是什么樣。

二、安裝 chromedriver

WebDriver 是 Selenium 的核心組件 , 負(fù)責(zé)控制瀏覽器進(jìn)行各種操作。WebDriver 可以通過(guò)不同的驅(qū)動(dòng)程序與不同的瀏覽器進(jìn)行通信,比如 ChromeDriver、FirefoxDriver 等。

1、查看當(dāng)前Google瀏覽器版本

打開Google瀏覽器,網(wǎng)址欄輸入:chrome://settings/help

圖片圖片

2、下載對(duì)應(yīng)版本的chromedriver

對(duì)照你的版本下載,當(dāng)你使用的是 Chrome 版本 115 或更高版本,就點(diǎn)最上面的鏈接:

https://chromedriver.chromium.org/downloads/

圖片圖片

找到你對(duì)應(yīng)的版本,我這里是122.0.6261.129。

圖片圖片

下載完成之后,將文件解壓后,拷貝到 /usr/local/bin/ 目錄 。

圖片圖片

安裝完 chromedriver 后,Java 應(yīng)用中添加如下依賴:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server</artifactId>
    <version>3.141.59</version>
</dependency>

然后通過(guò)如下代碼,測(cè)試環(huán)境是否 OK 。

public static void main(String[] args) {
      WebDriver webDriver = new ChromeDriver();
      webDriver.get("https://juejin.cn");
}

點(diǎn)擊運(yùn)行,如果打開了掘金網(wǎng)頁(yè)說(shuō)明環(huán)境配置成功。

三、流程分析

1、進(jìn)入搜索頁(yè)面 , 搜索框中輸入‘自動(dòng)駕駛’。

圖片圖片

圖片圖片

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

圖片圖片

圖片圖片

3、點(diǎn)擊下一頁(yè)

圖片圖片

圖片圖片

四、爬蟲演示

執(zhí)行完成之后,職位記錄表新增了接近 2000 條記錄。

圖片圖片

五、寫到最后

當(dāng)我們將 Selenium 作為爬蟲工具時(shí),盡管它有很多優(yōu)點(diǎn),但也存在明顯的缺點(diǎn)。

Selenium 模擬瀏覽器動(dòng)作,除了加載需要的數(shù)據(jù)外,還會(huì)加載圖片、JS、CSS等不必要的內(nèi)容,導(dǎo)致網(wǎng)絡(luò)資源和計(jì)算資源消耗增加,爬取速度變慢,爬取規(guī)模受限。

因此,長(zhǎng)期大規(guī)模使用 Selenium 作為生產(chǎn)工具不是一個(gè)明智的選擇。

然而,如果只是想在個(gè)人電腦上快速抓取少量數(shù)據(jù),Selenium 確實(shí)是一個(gè)非常方便的工具。

最后, crawler-boss 的源碼實(shí)現(xiàn)非常簡(jiǎn)單,假如同學(xué)們感興趣,可以關(guān)注公眾號(hào),回復(fù) 「爬蟲」即可獲取。

參考文檔:

https://zhuanlan.zhihu.com/p/137710454

https://juejin.cn/post/7284318118993068051

責(zé)任編輯:武曉燕 來(lái)源: 勇哥Java實(shí)戰(zhàn)
相關(guān)推薦

2024-01-16 09:28:09

智能汽車

2015-07-02 14:07:19

Boss直聘

2022-10-27 10:18:25

自動(dòng)駕駛

2021-11-18 09:50:35

自動(dòng)駕駛輔助駕駛人工智能

2022-07-12 09:42:10

自動(dòng)駕駛技術(shù)

2018-10-24 14:16:33

自動(dòng)駕駛道路測(cè)試牌照

2021-04-15 06:24:50

人工智能AI自動(dòng)駕駛

2022-04-12 09:21:50

AIPython自動(dòng)駕駛

2025-01-16 11:55:00

2020-09-28 14:00:06

自動(dòng)駕駛AI網(wǎng)絡(luò)

2021-12-01 10:21:27

自動(dòng)駕駛技術(shù)人工智能

2021-12-16 10:45:22

自動(dòng)駕駛數(shù)據(jù)人工智能

2019-09-19 14:10:12

人工智能物聯(lián)網(wǎng)自動(dòng)駕駛

2021-04-30 11:44:04

自動(dòng)駕駛智能化汽車

2019-11-25 09:55:34

自動(dòng)駕駛人工智能無(wú)人駕駛

2021-11-18 22:43:56

自動(dòng)駕駛技術(shù)安全

2021-11-01 13:53:24

自動(dòng)駕駛數(shù)據(jù)人工智能

2022-02-17 10:22:17

汽車智能自動(dòng)駕駛

2023-03-15 11:54:32

無(wú)人駕駛系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)