linux命令行抓取网页快照-(xvfb+CutyCapt)
生活随笔
收集整理的這篇文章主要介紹了
linux命令行抓取网页快照-(xvfb+CutyCapt)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
linux命令行抓取網頁快照-(xvfb+CutyCapt)
又一個 WordPress 博客
Browse: Home / 2009 / 十一月 / linux命令行抓取網頁快照-(xvfb+CutyCapt)
linux命令行抓取網頁快照-(xvfb+CutyCapt)
By saymoon on 2009年11月13日
目的:
在一臺沒有安裝X-server的Debian服務器上實現命令行抓取網頁快照
軟件:
xvfb(在命令行下實現對X-server的模擬,渲染圖形進行緩存)-在沒有安裝X-Server的環境下提供圖像渲染
CutyCapt(模擬瀏覽器對網頁進行下載、HTML、css渲染、Javascript執行,并將最終渲染完成的網頁進行快照)- 主力干將
Qt(CutyCapt是基于此框架開發的)
實踐:
1.安裝CutyCapt、Qt及相關軟件包:
幫助
1
2
3
4
5
sudo apt-get install subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make
2.安裝xvfb:
幫助
1
apt-get install xvfb
3.抓取測試:
幫助
1
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.zol.com.cn --out=zol.png
發現抓到的中文網頁時亂碼:
中文網頁快照亂碼
4.折騰了半天,原來是沒有安裝中文字體,安裝中文字體,再抓~~
網頁快照最終版
總結:
基本實現了通過linux命令行實現網頁快照抓取的功能,但是CutyCapt對Javascript的解析能力還是有限,從上圖可以看出通過swfobject加載的flash都沒有被渲染出來。以后有空會嘗試用Firefox直接做渲染抓取。
參考鏈接:
http://cutycapt.sourceforge.net/
http://www.x.org/archive/X11R6.8.2/doc/Xvfb.1.html
http://www.yeeach.com/tag/screenshot/
http://hi.baidu.com/pkubuntu/blog/item/7dcc064ff0246a3eaec3abe2.html
http://qt.nokia.com/
http://en.wikipedia.org/wiki/Xvfb
安裝中文字體:http://hi.baidu.com/spiritualcity/blog/item/96369c2afa8740fde6cd40d2.html
Linux中文內碼控制方案:http://zhcon.sourceforge.net/index_cn.html
Posted in linux | Tagged cutycapt, debian, xvfb, 快照 | 12 Responses
12 responses to “linux命令行抓取網頁快照-(xvfb+CutyCapt)”
bill
bill 2009年12月3日 at 12:58 上午 | Permalink
sudo apt-get install subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make
為什么我執行這個的時候。前兩行都不能正確執行呢。我通過下載的方式下載了cutycapt,解壓后運行make 也會報很多錯。。請指教!
bill
bill 2009年12月3日 at 1:00 上午 | Permalink
Google搜到一個網頁,也是我這樣的錯誤。但是沒看到有好的解決方法。我QT也安裝了。gcc也都裝了。
bill
bill 2009年12月3日 at 1:02 上午 | Permalink
因為沒有成功安裝Cutycapt,所以執行 xvfb-run –server-args=”-screen 0, 1024x768x24″ ./CutyCapt –url=http://www.google.com –out=example.png 后,也無法正確得到結果。困擾了我一天了。望指教!
bill
bill 2009年12月8日 at 8:09 下午 | Permalink
自己弄好了。呵呵。就差安裝中文字體了
bill
bill 2009年12月8日 at 11:08 下午 | Permalink
對了,那個控制尺寸的,是不是不好用?
screen 0, 1024x768x24
無論改成什么,抓到的都是那個頁面實際大小
Charly
Charly 2010年01月5日 at 1:39 上午 | Permalink
生成了一個空白圖,昨回事呢?
timberland
timberland 2010年02月19日 at 1:19 上午 | Permalink
嘿嘿。。。
我又來了。。。
前來看望問候博主。。。
欣賞博主精文。。。
祝健康、幸福、快樂。。。
期待博主新作!。。。
在線網頁截圖實現技術 | Hi Java!
在線網頁截圖實現技術 | Hi Java! 2010年04月20日 at 4:29 上午 | Permalink
[...] http://blog.saymoon.com/2009/11/take-snapshot-in-linux-command-line/ [...]
bill
bill 2010年07月12日 at 7:52 下午 | Permalink
好端端的突然又不好用了。生成的都是空白頁。。詭異啊!
道茶
道茶 2010年10月9日 at 8:24 上午 | Permalink
我連空白頁面都沒有
/usr/local/bin/xvfb-run: line 168: 23696 Segmentation fault DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE “$@” 2>&1
只有這個錯誤
daniel
daniel 2011年09月14日 at 11:50 下午 | Permalink
WIN2003里也亂碼,怎么辦?
oscar
oscar 2011年10月8日 at 11:56 下午 | Permalink
謝謝樓主,測試成功,不過
2.安裝xvfb:不能自動成功
apt-get install xvfb
最后在http://packages.debian.org/zh-cn/lenny/xvfb
下載xvfb包 就可以了
又一個 WordPress 博客
Browse: Home / 2009 / 十一月 / linux命令行抓取網頁快照-(xvfb+CutyCapt)
linux命令行抓取網頁快照-(xvfb+CutyCapt)
By saymoon on 2009年11月13日
目的:
在一臺沒有安裝X-server的Debian服務器上實現命令行抓取網頁快照
軟件:
xvfb(在命令行下實現對X-server的模擬,渲染圖形進行緩存)-在沒有安裝X-Server的環境下提供圖像渲染
CutyCapt(模擬瀏覽器對網頁進行下載、HTML、css渲染、Javascript執行,并將最終渲染完成的網頁進行快照)- 主力干將
Qt(CutyCapt是基于此框架開發的)
實踐:
1.安裝CutyCapt、Qt及相關軟件包:
幫助
1
2
3
4
5
sudo apt-get install subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make
2.安裝xvfb:
幫助
1
apt-get install xvfb
3.抓取測試:
幫助
1
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.zol.com.cn --out=zol.png
發現抓到的中文網頁時亂碼:
中文網頁快照亂碼
4.折騰了半天,原來是沒有安裝中文字體,安裝中文字體,再抓~~
網頁快照最終版
總結:
基本實現了通過linux命令行實現網頁快照抓取的功能,但是CutyCapt對Javascript的解析能力還是有限,從上圖可以看出通過swfobject加載的flash都沒有被渲染出來。以后有空會嘗試用Firefox直接做渲染抓取。
參考鏈接:
http://cutycapt.sourceforge.net/
http://www.x.org/archive/X11R6.8.2/doc/Xvfb.1.html
http://www.yeeach.com/tag/screenshot/
http://hi.baidu.com/pkubuntu/blog/item/7dcc064ff0246a3eaec3abe2.html
http://qt.nokia.com/
http://en.wikipedia.org/wiki/Xvfb
安裝中文字體:http://hi.baidu.com/spiritualcity/blog/item/96369c2afa8740fde6cd40d2.html
Linux中文內碼控制方案:http://zhcon.sourceforge.net/index_cn.html
Posted in linux | Tagged cutycapt, debian, xvfb, 快照 | 12 Responses
12 responses to “linux命令行抓取網頁快照-(xvfb+CutyCapt)”
bill
bill 2009年12月3日 at 12:58 上午 | Permalink
sudo apt-get install subversion libqt4-webkit libqt4-dev g++
svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
cd cutycapt/CutyCapt
qmake
make
為什么我執行這個的時候。前兩行都不能正確執行呢。我通過下載的方式下載了cutycapt,解壓后運行make 也會報很多錯。。請指教!
bill
bill 2009年12月3日 at 1:00 上午 | Permalink
Google搜到一個網頁,也是我這樣的錯誤。但是沒看到有好的解決方法。我QT也安裝了。gcc也都裝了。
bill
bill 2009年12月3日 at 1:02 上午 | Permalink
因為沒有成功安裝Cutycapt,所以執行 xvfb-run –server-args=”-screen 0, 1024x768x24″ ./CutyCapt –url=http://www.google.com –out=example.png 后,也無法正確得到結果。困擾了我一天了。望指教!
bill
bill 2009年12月8日 at 8:09 下午 | Permalink
自己弄好了。呵呵。就差安裝中文字體了
bill
bill 2009年12月8日 at 11:08 下午 | Permalink
對了,那個控制尺寸的,是不是不好用?
screen 0, 1024x768x24
無論改成什么,抓到的都是那個頁面實際大小
Charly
Charly 2010年01月5日 at 1:39 上午 | Permalink
生成了一個空白圖,昨回事呢?
timberland
timberland 2010年02月19日 at 1:19 上午 | Permalink
嘿嘿。。。
我又來了。。。
前來看望問候博主。。。
欣賞博主精文。。。
祝健康、幸福、快樂。。。
期待博主新作!。。。
在線網頁截圖實現技術 | Hi Java!
在線網頁截圖實現技術 | Hi Java! 2010年04月20日 at 4:29 上午 | Permalink
[...] http://blog.saymoon.com/2009/11/take-snapshot-in-linux-command-line/ [...]
bill
bill 2010年07月12日 at 7:52 下午 | Permalink
好端端的突然又不好用了。生成的都是空白頁。。詭異啊!
道茶
道茶 2010年10月9日 at 8:24 上午 | Permalink
我連空白頁面都沒有
/usr/local/bin/xvfb-run: line 168: 23696 Segmentation fault DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE “$@” 2>&1
只有這個錯誤
daniel
daniel 2011年09月14日 at 11:50 下午 | Permalink
WIN2003里也亂碼,怎么辦?
oscar
oscar 2011年10月8日 at 11:56 下午 | Permalink
謝謝樓主,測試成功,不過
2.安裝xvfb:不能自動成功
apt-get install xvfb
最后在http://packages.debian.org/zh-cn/lenny/xvfb
下載xvfb包 就可以了
總結
以上是生活随笔為你收集整理的linux命令行抓取网页快照-(xvfb+CutyCapt)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《集体智慧编程》——第一章导读
- 下一篇: iPhone开发笔记[1/50]:初学i