使用php-webdriver抓取頁面數(shù)據(jù)

簡介

Php-Webdriver 庫是用于 Selenium WebDriver 的 PHP 語言綁定神凑,它允許您從 PHP 控制 Web 瀏覽器。
此庫與 Selenium 服務(wù)器版本 2.x、3.x 和 4.x 兼容。
該庫支持JsonWireProtoco诱桂,并實現(xiàn)了W3CWebDriver的實驗支持。W3C WebDriver 支持尚未完全提供呈昔,但它應(yīng)該允許通過壁虎和新版本的 Chrome 和 Chromedriver 控制 Firefox挥等,只有輕微的限制。
這個庫的概念與Selenium項目的"官方"Java堤尾、.NET肝劲、Python和Ruby綁定非常相似
Php-Webdriver github主頁:https://github.com/php-webdriver/php-webdriver

安裝瀏覽器環(huán)境

php-webdriver 依賴瀏覽器環(huán)境郭宝,所以必須在系統(tǒng)上安裝一個瀏覽器辞槐。
這里使用firefox作為瀏覽器環(huán)境,下載安裝瀏覽器:

 yum -y install firefox

下載瀏覽器驅(qū)動程序

下載對應(yīng)瀏覽器版本的驅(qū)動程序:https://www.selenium.dev/ecosystem/
查看瀏覽器版本:
以火狐為例

  • Windows


    image.png

    image.png

    image.png
  • Linux
[root@dev ~]# firefox -v
Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Running without a11y support!
Mozilla Firefox 68.12.0esr

運行驅(qū)動程序

解壓下載好的壓縮文件
運行驅(qū)動程序

./geckodriver --port=4444

安裝 php-webdriver 擴展包

composer require php-webdriver/webdriver

編寫php爬蟲腳本

  • 打開爬取頁面榄檬,查看頁面結(jié)構(gòu)及確認(rèn)要抓取的數(shù)據(jù)
    這里以抓取頁面中的用戶名為例,打開頁面衔统,定位到元素標(biāo)簽


    image.png

從上圖的結(jié)構(gòu)中可以看出鹿榜,要拿到用戶名海雪,可以使用class選擇器:
.landing-candidate__name > span[data-bind="text: name"]
定位到目標(biāo)元素,最后獲取該元素的文本內(nèi)容舱殿,就拿到了用戶名奥裸。
下面來編寫php腳本來獲取到頁面中的用戶名

  • 編寫腳本
<?php
// index.php
require_once './vendor/autoload.php';

use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\WebDriverBy;

$host = 'http://localhost:4444'; // 連接到瀏覽器驅(qū)動程序的地址
$desiredCapabilities = DesiredCapabilities::firefox(); // 要使用哪個瀏覽器
$desiredCapabilities->setCapability('moz:firefoxOptions', ['args' => ['-headless']]); // 配置瀏覽器啟動參數(shù),無頭瀏覽器模式
$driver = RemoteWebDriver::create($host, $desiredCapabilities);
$driver->manage()->timeouts()->implicitlyWait(5);
// 要爬取的頁面
$driver->get('https://rd5.zhaopin.com/resume/email/open?s=6204c382d8614d15a5fb40771c271891&zhaopinToken=8xeiv82zirc7ktnd&6G7wF6pI=dplHkAq_iOL_iOL_iBW2bvEDDH5ypRgnshW3faOfF_QqqkL');

//$phone = $driver->findElement(WebDriverBy::cssSelector('.landing-candidate__mobile > .landing-candidate__img'))->getAttribute('src');
//$email = $driver->findElement(WebDriverBy::cssSelector('.landing-candidate__email > .landing-candidate__img'))->getAttribute('src');
$name = $driver->findElement(WebDriverBy::cssSelector('.landing-candidate__name > span[data-bind="text: name"]'))->getText();
$driver->close();
var_dump([
    'name' => $name
]);

執(zhí)行腳本

[root@dev cj]# php index.php
array(3) {
  ["name"]=>
  string(9) "奔跑的咸魚"
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沪袭,一起剝皮案震驚了整個濱河市湾宙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌冈绊,老刑警劉巖侠鳄,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異焚碌,居然都是意外死亡畦攘,警方通過查閱死者的電腦和手機霸妹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進(jìn)店門十电,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叹螟,你說我怎么就攤上這事鹃骂。” “怎么了罢绽?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵畏线,是天一觀的道長。 經(jīng)常有香客問我良价,道長寝殴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任明垢,我火速辦了婚禮蚣常,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痊银。我一直安慰自己抵蚊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布溯革。 她就那樣靜靜地躺著贞绳,像睡著了一般。 火紅的嫁衣襯著肌膚如雪致稀。 梳的紋絲不亂的頭發(fā)上冈闭,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機與錄音抖单,去河邊找鬼拒秘。 笑死号显,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的躺酒。 我是一名探鬼主播押蚤,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼羹应!你這毒婦竟也來了揽碘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤园匹,失蹤者是張志新(化名)和其女友劉穎雳刺,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裸违,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡掖桦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了供汛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枪汪。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怔昨,靈堂內(nèi)的尸體忽然破棺而出雀久,到底是詐尸還是另有隱情,我是刑警寧澤趁舀,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布赖捌,位于F島的核電站,受9級特大地震影響矮烹,放射性物質(zhì)發(fā)生泄漏越庇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一奉狈、第九天 我趴在偏房一處隱蔽的房頂上張望卤唉。 院中可真熱鬧,春花似錦嘹吨、人聲如沸搬味。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碰纬。三九已至,卻和暖如春问芬,著一層夾襖步出監(jiān)牢的瞬間悦析,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工此衅, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留强戴,地道東北人亭螟。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像骑歹,于是被迫代替她去往敵國和親预烙。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,860評論 2 361