phantomJs原理
生活随笔
收集整理的這篇文章主要介紹了
phantomJs原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
引用文段:
鏈接:https://www.jianshu.com/p/0254391918f7
網頁渲染可分為服務端渲染和客戶端渲染,前者是指你在瀏覽器地址欄輸入一個網址,Web服務器處理請求過程就將所有需要呈現的html元素都構造好了,瀏覽器收到響應就直接render出頁面,客戶端工作量少;后者是指Web服務器僅僅將必要的信息作為響應傳到瀏覽器,瀏覽器需要根據響應進行二次處理,比如ajax請求,再根據ajax請求的結果構造html。
urllib不具備js執行能力,自然不能模擬瀏覽器執行js請求ajax等效果,于是,所謂無頭瀏覽器phontmJs就出現了,借助這個工具可以模擬webkit執行,還可以包含更多js庫比如jQuery等對頁面的js執行進行擴展
第一個phantomjs程序: 在E盤下建立文檔,m.js var page = require('webpage').create(); phantom.outputEncoding="gbk"; #設定字符集類型 page.open('http://music.163.com/', function(status) {console.log("Status: " + status);if(status === "success") {console.log(page.content);#打印phantomJS處理后的頁面內容}phantom.exit(); });
?
然后在E盤下(m.js所在目錄)打開cmd,執行
phantomjs m.js?
會打印出網易音樂的頁面內容:
?
也可以將請求頁面截圖保存:
var page = require('webpage').create(); page.open('http://music.163.com/', function(status) {console.log("Status: " + status);if(status === "success") {page.render('music.png');}phantom.exit(); });文件會被保存在m.js所在目錄下
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/10sxluo/p/10273018.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的phantomJs原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习(8):朴素贝叶斯
- 下一篇: 机器人网首页应用实例工业自动化 Et