pyton利用pyqt5的QWebkit抓取javascript执行后的动态网页
来源:互联网 发布:下载文华财经软件 编辑:程序博客网 时间:2024/03/29 19:11
对于 javascript 动态创建网页标签生成的网页,用python的urllib2抓取不到最终的网页。
使用Qt的QWebkit组件可以模拟浏览器执行javascript并讲最终网页提取出来。
之前网上有很多关于pyqt4抓取动态网页的帖子,但是pyqt5与pyqt4有细微不同,纪录下来以备后面查看。
import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtWebKitWidgets import *#use QtWebkit to get the final webpageclass WebRender(QWebPage): def __init__(self, url): self.app = QApplication(sys.argv) QWebPage.__init__(self) self.loadFinished.connect(self.__loadFinished) self.mainFrame().load(QUrl(url)) self.app.exec_() def __loadFinished(self, result): self.frame = self.mainFrame() self.app.quit() r = WebRender(url) html = r.frame.toHtml() page = etree.HTML(html.encode('utf-8'))
注意:
1、PyQt5的 QWebPage 要从 PyQt5.QtWebKitWidgets 导入,QApplication 要从 PyQt5.QtWidgets 导入
2、r.frame.toHtml() 得到的html要encode成utf-8,以支持对中文字符的支持
0 0
- pyton利用pyqt5的QWebkit抓取javascript执行后的动态网页
- pyton利用pyqt5的QWebkit抓取javascript执行后的动态网页
- htmlunit抓取js执行后的网页源码
- 关于动态网页的抓取
- 利用jsoup实现网页内容的抓取
- 在网页中利用javascript实现动态时间的设计
- cookie ajax动态网页数据的抓取
- 7、抓取动态网页的数据内容
- ASP抓取带参数的动态网页
- python 抓取动态网页的问题
- java抓取动态生成的网页
- java抓取动态生成的网页
- 抓取网页图片的脚本(javascript)
- PyQt5 渲染动态网页
- 利用Webkit抓取动态网页和链接
- qwebkit的套壳开发
- Pyton实现简单爬虫和正则表达式的利用
- Pyton的类特性
- 最新版SDWebImage的使用
- 记一次研究NFS方式存放归档日志经历
- 三、深入Javascript(2)_看智能社blue老师JS视频整理的笔记
- getElementBy系列
- 剖析Apache Commons DbUtils
- pyton利用pyqt5的QWebkit抓取javascript执行后的动态网页
- 1412241642-蓝桥杯-入门训练 序列求和
- Remove Nth Node From End of List -- leetcode
- MFC创建工作者线程
- 三种json类库举例
- 学习八部曲,单片机就这么简单!
- 用rpart包建立regression tree,并利用prune函数进行修剪
- 错误BUG解决:Can't create handler inside thread that has not called Looper.prepare()
- java常见异常