2010-10-15 11 views
6

क्या आपको लगता है कि तकनीकी रूप से वेबसाइट की स्क्रेशॉट लेने के लिए तकनीकी रूप से संभव है?क्या यह तकनीकी रूप से वेबसाइट की स्क्रीनशॉट लेने के लिए तकनीकी रूप से संभव है?

मैं एक निर्धारित पायथन कार्य तैयार करना चाहता हूं जो उन वेबसाइटों की एक सूची को क्रॉल करता है जो होमपेज स्क्रीनशॉट लेते हैं।

क्या आपको लगता है कि तकनीकी रूप से व्यवहार्य है या क्या आप तीसरे पक्ष की वेबसाइट जानते हैं जो इस तरह की सेवा प्रदान करता है (Input: url --> Output: screenshot)?

कोई सुझाव?

+6

क्या आप कार्यक्षमता की तलाश में हैं जैसे http://www.browsershots.org प्रदान करता है? स्रोत कोड http://code.google.com/p/browsershots/ – birryree

+1

@birryree पर उपलब्ध है, आपको टिप्पणी करने के बजाए जवाब देना चाहिए :) मुझे लगता है कि यह एक अच्छा जवाब है – samy

+1

मैं सैमी से सहमत हूं - यह सब के बाद प्रश्न का उत्तर देता है! :) –

उत्तर

1

कैसे 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." 
+0

ImageMagick छवियों पर काम करने के लिए कार्यों की एक सामान्य पुस्तकालय है। यह सवाल का जवाब देने जैसा होगा, "मैं सी # में एफएफटी कैसे कार्यान्वित कर सकता हूं?" और आप जवाब देते हैं "ओह, आप इसके लिए गणित वर्ग में कुछ उपयोग कर सकते हैं"। – Brad

+0

ImageMagick किस तरह से HTML में छवि प्रस्तुत करने की क्षमता प्रदान करता है? –

+1

धन्यवाद @ डेविड, बहुत सराहना की। – Fenton

0

के बारे में यह निश्चित रूप से तकनीकी रूप से संभव है।

आपको शायद एचटीएमएल को एक छवि फ़ाइल (या अधिक संभावना है, एक मेमोरी बिटमैप पर जो एक बार एक छवि फ़ाइल में लिखा गया है) पर प्रस्तुत करना होगा।

मुझे आपके लिए ऐसा करने के लिए कोई पुस्तकालय नहीं पता है (एक संशोधित वेबकिट के अलावा, शायद) ... लेकिन निश्चित रूप से ऐसी वेबसाइटें हैं जो ऐसा करती हैं।

बेशक

, यह सिर्फ एक मशीन पर एक ब्राउज़र में पृष्ठ को खोलने और एक स्क्रीनशॉट प्रोग्राम के लेने से थोड़ा अधिक शामिल है, लेकिन परिणाम की संभावना बेहतर होगा कि आप किसी विशिष्ट ब्राउज़र से परिणाम के बारे में परवाह नहीं है ।

15

क्या आप browsershots.org ऑफर की कार्यक्षमता की तलाश में हैं?

स्रोत कोड Google Code/Browsershots पर उपलब्ध है।

+0

+1 - यह नहीं पता था कि यह पायथन के साथ लिखा गया था और यह बिल्कुल आवश्यक नौकरी करता है। – Fenton

3

आप webkit2png (केवल ओएस एक्स) और khtml2png (लिनक्स) और post (पीईक्यूटी और वेबकिट का उपयोग करें) देख सकते हैं।

+0

webkit2png भी जीएनयू/लिनक्स पर काम करता है, यह पोस्ट देखें: http://gfdsa.gfdsa.org/2012/08/15/making-web-pages-screenshots-with-webkit2png-flash-included/ –

1

मैंने सेलेनियम और फैंटॉमजेएस का उपयोग किया।

from selenium import webdriver 
driver = webdriver.PhantomJS() 
driver.get("http://anyurl.com") 
driver.save_screenshot("/path/to/folder") 

अपने $ पथ में PhantomJS निष्पादन योग्य जगह सुनिश्चित करें।

संबंधित मुद्दे