日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

phantomJs原理

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。