使用python对整个网页进行截图
方法一、使用PyQt4的QtWebKit组件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/env python# -*- coding: UTF-8 -*-import sysimport os.pathfrom PyQt4 import QtGui,QtCore,QtWebKitclass 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.shot() sys.exit(app.exec_()) |
方法二、使用selenium
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#!/usr/bin/env python# -*- coding: UTF-8 -*-import timefrom selenium import webdriverbrowser = webdriver.Firefox()browser.set_window_size(1055, 800)browser.find_element_by_id("idClose").click()time.sleep(5)browser.save_screenshot("shot.png")browser.quit() |
使用python对整个网页进行截图的更多相关文章
- 截图还在使用QQ的Ctrl + Alt + A 截图?还不会网页长截图?
截图还在使用QQ的Ctrl + Alt + A 截图?还不会网页长截图? 手机自带快捷键,常常使用组合键进行快速截图编辑发好友.保存等,但是貌似到了电脑截图就出现了一大堆拍屏幕党,不少人需要打开微 ...
- 【保姆级】Python项目(Flask网页)部署到Docker的完整过程
大家好,我是辰哥~ 前提:相信看到这篇文章的读者应该已经学会了Docker的安装以及Docker的基本使用,如果还不会的可以参考我之前的文章进行详细学习! 1.安装版:2300+字!在不同系统上安装D ...
- Python 抓取网页并提取信息(程序详解)
最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...
- python爬虫抓网页的总结
python爬虫抓网页的总结 更多 python 爬虫 学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自 ...
- chrome比较好用的网站整页(超长网页)截图插件
chrome比较好用的网站整页(超长网页)截图插件:fireshot capture 试用过比较好用
- python抓取网页例子
python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...
- Android之WebView网页滚动截图
WebView 网页滚动截屏,可对整个网页进行截屏而不是仅当前屏幕哦! 注意若Web页面存在position:fixed; 的话得在调用前设置为 position:absolute; 哦,否则会出现很 ...
- Python HTMLTestRunner生成网页自动化测试报告时中文编码报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6
1. 由于使用Python Selenium做网页自动化测试时,有截取网页上的中文信息保存到测试结果中,最终出现编码错误如下: File "D:/PycharmProjects/AutoTe ...
- Python笔记之 - 一张截图诠释"文件读写" !
Python笔记之 - 一张截图诠释"文件读写" ! 源代码如下: # 文件读写 str_test1 = "先创建txt文件再写入内容: 我是大帅哥" # wi ...
随机推荐
- asp.net 页面中添加普通视频的几种方式
第一种 是通过调用window media player进行播放诸如:wmv,asf等格式文件: <object align=center class="OBJECT" cl ...
- double小数位数的显示
不显示小数点后的0,只显示2位小数 DecimalFormat df = new DecimalFormat(".##"); double num = 450.029000089; ...
- 数据库三,exec内置函数
数据库三,exec内置函数 一.数据库查询与执行顺序 必备知识 查询语句的基本操作 - select - from - where - group by - having - distinct - o ...
- Linux 目录管理的相关命令
mkdir,rmdir 创建目录mkdir -p:当上级目录不存在时,自动创建上级目录 -v:显示创建过程 $ mkdir -pv /tmp/x/y/z/ mkdir: created directo ...
- leetcode题解:两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元 ...
- August 11th, 2019. Week 33rd, Sunday
Worry does not empty tomorrow of its sorrow. It empties today of its strength. 忧虑不会消除明天的痛苦,它只会削弱今天的力 ...
- LeetCode刷题--两数相加(中等)
题目描述 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表 ...
- Django django-cors-headers实现防跨域
安装 pip install django-cors-headers 注册应用 INSTALLED_APPS = ( ... 'corsheaders', ... ) 中间层设置 MIDDLEWARE ...
- 卸载/更新HP Client Security Manager失败的解决方案(解决错误1722:软件包存在问题……)
问题:当卸载较老版本/更新较老版本的HP Client Security Manager时可能会出现下图所示的错误: 解决方案:按Win+R键打开运行窗口,输入regedit回车进入注册表编辑器,依次 ...
- Spark家族:Win10系统下搭建Scala开发环境
一.Scala环境基础 Scala对Java相关的类,接口进行了包装,所以依赖Jvm环境. Jdk 1.8 scala 依赖 scala 2.11 安装版本 idea 2017.3 开发工具 二.配置 ...