使用phantomjs進(jìn)行網(wǎng)頁抓取的實(shí)現(xiàn)代碼
phantomjs因?yàn)槭菬o頭瀏覽器可以跑js,所以同樣可以跑dom節(jié)點(diǎn),用來進(jìn)行網(wǎng)頁抓取是再好不過了。
比如我們要批量抓取網(wǎng)頁 “歷史上的今天” 的內(nèi)容。網(wǎng)站

對(duì)dom結(jié)構(gòu)的觀察發(fā)現(xiàn),我們只需要取到 .list li a的title值即可。因此我們利用高級(jí)選擇器構(gòu)建dom片段
var d= ''
var c = document.querySelectorAll('.list li a')
var l = c.length;
for(var i =0;i<l;i++){
d=d+c[i].title+'\n'
}
之后只需要讓js代碼在phantomjs里跑起來即可~
var page = require('webpage').create();
page.open('http://www.todayonhistory.com/', function (status) { //打開頁面
if (status !== 'success') {
console.log('FAIL to load the address');
} else {
console.log(page.evaluate(function () {
var d= ''
var c = document.querySelectorAll('.list li a')
var l = c.length;
for(var i =0;i<l;i++){
d=d+c[i].title+'\n'
}
return d
}))
}
phantom.exit();
});
最終我們另存為catch.js,在dos里面執(zhí)行一下,輸出內(nèi)容到txt文件(也可以用phantomjs的文件api來寫)

- java利用phantomjs進(jìn)行截圖實(shí)例教程
- 解決phantomjs截圖失敗,phantom.exit位置的問題
- Python爬蟲使用Selenium+PhantomJS抓取Ajax和動(dòng)態(tài)HTML內(nèi)容
- Java PhantomJs完成html圖片輸出功能
- phantomjs導(dǎo)出html到pdf的方法總結(jié)
- Node.JS利用PhantomJs抓取網(wǎng)頁入門教程
- C#使用Selenium+PhantomJS抓取數(shù)據(jù)
- 基于Phantomjs生成PDF的實(shí)現(xiàn)方法
- Phantomjs抓取渲染JS后的網(wǎng)頁(Python代碼)
- PhantomJS快速入門教程(服務(wù)器端的 JavaScript API 的 WebKit)
- 基于linnux+phantomjs實(shí)現(xiàn)生成圖片格式的網(wǎng)頁快照
- 利用NodeJS和PhantomJS抓取網(wǎng)站頁面信息以及網(wǎng)站截圖
- Windows系統(tǒng)下PhantomJS的安裝和基本用法
相關(guān)文章
原生JavaScrip實(shí)現(xiàn)語音識(shí)別的示例詳解
語音識(shí)別轉(zhuǎn)文本看似是很有難度的一個(gè)功能,但你知道嗎,使用原生?JavaScript?也能實(shí)現(xiàn)語音識(shí)別功能,下面小編就來和大家講講具體的實(shí)現(xiàn)方法吧2025-03-03
Express框架詳解app函數(shù)使用實(shí)例
這篇文章主要為大家介紹了Express框架app函數(shù)使用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
基于Bootstrap實(shí)現(xiàn)圖片輪播效果
這篇文章主要為大家詳細(xì)介紹了基于bootstrap實(shí)現(xiàn)圖片輪播效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-05-05
nestjs實(shí)現(xiàn)圖形校驗(yàn)和單點(diǎn)登錄的示例代碼
本文主要介紹了nestjs實(shí)現(xiàn)圖形校驗(yàn)和單點(diǎn)登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
js實(shí)現(xiàn)旋轉(zhuǎn)木馬輪播圖效果
Fastest way to build an HTML string(拼裝html字符串的最快方法)
uni-app基本的數(shù)據(jù)綁定v-bind,v-for,v-on:click詳解

