您是否認爲技術上可以通過編程的方式對網站進行掃描?技術上可以通過編程獲取網站截圖嗎?
我想製作一個預定的Python任務,它抓取網站列表並獲取它們的主頁屏幕截圖。
您認爲技術上可行嗎?或者您認識提供類似服務的第三方網站(Input: url --> Output: screenshot
)?
有什麼建議嗎?
您是否認爲技術上可以通過編程的方式對網站進行掃描?技術上可以通過編程獲取網站截圖嗎?
我想製作一個預定的Python任務,它抓取網站列表並獲取它們的主頁屏幕截圖。
您認爲技術上可行嗎?或者您認識提供類似服務的第三方網站(Input: url --> Output: screenshot
)?
有什麼建議嗎?
如何PyGTK的
import gtk.gdk
w = gtk.gdk.get_default_root_window()
sz = w.get_size()
print "The size of the window is %d x %d" % sz
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
if (pb != None):
pb.save("screenshot.png","png")
print "Screenshot saved to screenshot.png."
else:
print "Unable to get the screenshot."
這當然是技術上是可行的。
您可能需要將HTML直接渲染到圖像文件上(或者更有可能的情況是,將內容位圖寫入圖像文件後寫入完成)。
我不知道有任何圖書館爲你做這件事(除了一個修改的WebKit,也許)...但肯定有網站這樣做。
當然,這比在計算機上的瀏覽器中打開頁面並以編程方式拍攝屏幕截圖要複雜一些,但如果您不關心特定瀏覽器的結果,結果可能會更好。
您是否在尋找像browsershots.org提供的功能?
源代碼可在Google Code/Browsershots。
+1 - 不知道這是用Python編寫的,它確實完成了所需的工作。 – Fenton 2010-10-15 15:11:27
您可以檢查webkit2png(僅限OS X)和khtml2png(Linux)以及post(使用PyQt和WebKit)。
webkit2png也適用於GNU/Linux,請參閱這篇文章:http://gfdsa.gfdsa.org/2012/08/15/making-web-pages-screenshots-with-webkit2png-flash-included/ – 2014-05-25 18:35:09
我用硒和PhantomJS。
from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("http://anyurl.com")
driver.save_screenshot("/path/to/folder")
請務必將PhantomJS可執行文件放在您的$ PATH中。
您是否在尋找http://www.browsershots.org提供的功能?源代碼http://code.google.com/p/browsershots/ – birryree 2010-10-15 06:57:29
@birryree你應該回答,而不是評論:)我認爲這是一個很好的答案 – samy 2010-10-15 07:00:58
我同意samy - 它回答了所有問題! :) – 2010-10-15 07:02:11