python网页截图
来源:互联网 发布:xampp配置mysql 编辑:程序博客网 时间:2024/05/24 01:43
方法一、使用PyQt4的QtWebKit组件
#!/usr/bin/env python# -*- coding: UTF-8 -*-# 来源 http://www.oschina.net/code/snippet_219811_14920 import sysimport os.pathfrom PyQt4 import QtGui,QtCore,QtWebKit class PageShotter(QtGui.QWidget): def __init__(self,url,filename,parent=None): QtGui.QWidget.__init__(self,parent) self.url = url self.filename = filename self.webpage = None def shot(self): webview = QtWebKit.QWebView(self) webview.load(QtCore.QUrl(self.url)) self.webpage = webview.page() self.connect(webview,QtCore.SIGNAL("loadFinished(bool)"),self.save_page) def save_page(self,finished): #print finished if finished: print u"开始截图!" size = self.webpage.mainFrame().contentsSize() print u"页面宽:%d,页面高:%d" % (size.width(),size.height()) self.webpage.setViewportSize(QtCore.QSize(size.width()+16,size.height())) img = QtGui.QImage(size, QtGui.QImage.Format_ARGB32) painter = QtGui.QPainter(img) self.webpage.mainFrame().render(painter) painter.end() filename= self.filename; if img.save(filename): filepath = os.path.join(os.path.dirname(__file__), filename) print u"截图完毕:%s" % filepath else: print u"截图失败"; else: print u"网页加载失败!" self.close() if __name__=="__main__": app = QtGui.QApplication(sys.argv) #shotter = PageShotter("http://www.adssfwewfdsfdsf.com") shotter = PageShotter("http://www.youku.com/", 'shot.png') shotter.shot() sys.exit(app.exec_())
方法二、使用selenium
#!/usr/bin/env python# -*- coding: UTF-8 -*- import timefrom selenium import webdriver browser = webdriver.Firefox()browser.set_window_size(1055, 800)browser.get("http://www.yooli.com/")browser.find_element_by_id("idClose").click()time.sleep(5) browser.save_screenshot("shot.png")browser.quit()
阅读全文
0 0
- python网页截图
- Python网页自动截图
- 用Python对网页进行截图
- mac使用python实现网页截图
- 用python + selenium 做网页截图
- Python中使用 Selenium 实现网页截图实例
- python 截图
- 如何截图整个网页 网页截图
- 网页截图软件
- C# 网页截图
- 网页截图软件
- 把网页截图
- java网页截图
- 网页截图工具
- 网页截图工具
- c# 滚动网页截图
- 网页截图工具WebThumb
- wkhtmltoimagek linux网页截图
- Validate插件验证表单
- librec运行方法
- 关于设备号的思考
- protobuf nanopb 使用步骤
- HA 高可用
- python网页截图
- Java设计模式之策略模式
- 常用 Git 命令
- 逃离or逃避:过年后,你还回不回大城市?
- 数据库更新迭代
- 搭建CAS单点登录服务器
- Spring MVC ModelAndView使用时所犯的一个小错误
- 使用CSS的flex的感悟
- not known to the MapperRegistry