Re: [問題] wget完整網頁

看板Linux作者 (function{}())時間10年前 (2014/02/14 21:36), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串3/3 (看更多)
推文有提到 headless browser, 我來解釋一下 headless browser 就是沒有操作介面的瀏覽器 完全由使用者寫的指令去完成瀏覽動作 因此你可以 - 自動化網頁測試 - 產生網頁截圖或 PDF - 自動開啟網頁並完成批次工作(包括登入) 也就是說 headless browser 會載入完整的網頁,包含執行 JavaScript 因為必須載入並處理完整的網頁,所以比純粹抓網頁原始碼還耗時 但是拿來應付 ajax 動態產生資料的網頁還挺適合的 可惜我只找到方法可以抓取 .html 檔,而無法抓取相應的 .css 與 .js 檔 而且也無法做 recursive 所以不能砍站,只能一次抓一個網頁 QwQ -- 目前最被廣泛使用的 headless browser 應該是 PhantomJS 與 CasperJS 後者是對前者的補完,也就是 CasperJS 會比 PhantomJS 提供更多功能 不過這次我以 PhantomJS 作為教學 PhantomJS 基於 WebKit 引擎,使用 JavaScript 做為其指令語言 所以渲染出來的結果與 Google Chrome / Safari 系差不多 請先依照 http://phantomjs.org/download.html 的指示完成 PhantomJS 的安裝 然後將 http://pastebin.com/y8NSGUXv 的程式碼存成 savepage.js 然後執行 phantomjs savepage.js http://www.example.com saved_page.html 最後一個參數可省略 這個腳本會依照以下順序作為檔名依據 1. 最後一個參數指定的檔案名稱 2. HTTP Header: Content-Disposition 指定的名稱 3. 根據 url 猜測檔案名稱 4. 以上皆失敗時取名為 saved_page 遇到重複的檔案會自動在檔名後方加上流水號 --

12/10 18:52,
我之前也發生過很多次 yahoo本來就很爛 還外加奇摩
12/10 18:52

12/10 18:53,
之前即時通死都不讓我登入 後來我就改用MSN了...
12/10 18:53

12/10 18:53,
發現MSN也不給你登....
12/10 18:53

12/10 18:55,
就改登PTT了
12/10 18:55

12/10 18:57,
最近ptt也一直斷....
12/10 18:57

12/10 19:57,
只好掀桌出去裸奔了...
12/10 19:57
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.127.251.59

02/14 21:37, , 1F
建議搭配 wget 使用
02/14 21:37, 1F

02/16 13:51, , 2F
可以讀取完整內容了~感謝你!!
02/16 13:51, 2F
文章代碼(AID): #1I_XlLV3 (Linux)
文章代碼(AID): #1I_XlLV3 (Linux)