用Python对网页进行截图
来源:互联网 发布:spss软件下载中文版 编辑:程序博客网 时间:2024/05/13 15:25
方法一、使用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 -*-
# 来源 http://www.oschina.net/code/snippet_219811_14920
import
sys
import
os.path
from
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import
time
from
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 0
- 用Python对网页进行截图
- 对网页进行截图
- C#对指定的网页进行截图
- C#对指定的网页进行截图
- 对指定的网页进行截图 C#版(Window Forms)
- IE中对网页进行截图的编程接口(转)
- 对指定的网页进行截图 C#版
- c#对网页进行全部截取的截图
- 用OpenCV对视频进行截图
- 对视频进行截图
- 对屏幕进行截图
- 用python + selenium 做网页截图
- python网页截图
- Python网页自动截图
- 如何对整个网页截图
- 使用phantomjs对网页截图
- java对视频进行截图
- 如何对webview进行截图
- mysql 锁 问题的详解
- 欢迎使用CSDN-markdown编辑器
- ExtJs
- openGl源码资源地址
- 写在这个系列博客之前
- 用Python对网页进行截图
- spring mvc+mybatis+多数据源切换(一)
- 图像缩放的双线性内插值算法的原理解析
- 开源异步请求框架AndroidHttpClient的使用简介
- 容器第七课,Set,HashSet基本用法,源码分析
- 十分钟搞清字符集和字符编码
- get_class()、get_called_class()、get_class_methods()
- awk
- dfdfgd