zoukankan      html  css  js  c++  java
  • QtWebKit

    WekKit官网:http://www.webkit.org/

    QtWebKit官网及安装:http://trac.webkit.org/wiki/QtWebKit#GettingInvolved

    QtWebKit Class Reference:http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qtwebkit.html

    QtWebKit也可以在PyQt4的安装中顺带安装(http://blog.csdn.net/xiarendeniao/article/details/6774520 46条)

    1.用python的urllib库从服务端读取web页面(html+js)

     

    [python]  view plain copy
     
    1. #encoding=utf-8  
    2.   
    3. import urllib, urlparse  
    4.   
    5. if __name__ == '__main__':  
    6.         baseUrl = 'http://s.weibo.com/weibo/'  
    7.         wordList = ['python','c++','钓鱼岛''博圣云峰''加勒比海盗''海贼王''2012''世界末日''地球']  
    8.         for index in range(len(wordList)):  
    9.                 url = urlparse.urljoin(baseUrl, urllib.quote(urllib.quote(wordList[index])))  
    10.                 print url  
    11.                 conn = urllib.urlopen(url)  
    12.                 data = conn.read()  
    13.                 f = file('/tmp/%s' % (wordList[index]), 'w')  
    14.                 f.write(data)  
    15.                 f.close()  

    2.用QtWebKit解析web页面(html+js)

     

     

    [python]  view plain copy
     
    1. #!/usr/bin/env python  
    2. #encoding=utf-8  
    3.   
    4. import sys    
    5. from PyQt4.QtGui import *    
    6. from PyQt4.QtCore import *    
    7. from PyQt4.QtWebKit import *    
    8. import time  
    9.   
    10. class Render(QWebPage):    
    11.   def __init__(self):   
    12.     self.wordList = ['python','c++','钓鱼岛''博圣云峰''加勒比海盗''海贼王''2012''世界末日''地球']  
    13.     self.index = 0  
    14.     self.app = QApplication(sys.argv)    
    15.     QWebPage.__init__(self)  
    16.     self.loadFinished.connect(self._loadFinished)    
    17.     self.mainFrame().setHtml(file('/tmp/%s'%self.wordList[self.index], 'r').read())  
    18.     self.app.exec_()    
    19.     
    20.   def _loadFinished(self, result):    
    21.     file('/home/dongsong/桌面/%s.html'%self.wordList[self.index],'w').write(unicode(self.mainFrame().toHtml()).encode('utf-8'))  
    22.     self.index += 1  
    23.     if self.index >= len(self.wordList):  
    24.         self.app.quit()  
    25.     else:  
    26.         self.mainFrame().setHtml(file('/tmp/%s'%self.wordList[self.index], 'r').read())  
    27.       
    28. page = Render()  


    PS:可以用self.mainFrame().load(QUrl('http://s.weibo.com/python')直接访问页面并解析(html+js),上述示例只是为了演示如何解析已经读取到的pageData

     

     

    [plain]  view plain copy
     
    1. export DISPLAY=:0  
    2. vpython qt_load_2.py  


  • 相关阅读:
    关于存储过程
    关于TSql
    SQL问题+知识点总结总
    基于IEC61499标准的组件
    使用Irony开发译码器
    C#早期绑定&后期绑定
    .NET组件 vs. COM组件
    C#委托和事件
    广度优先搜索(BreadthFirstSearch)& 迪克斯特拉算法 (Dijkstra's algorithm)
    选择排序法&快速排序法
  • 原文地址:https://www.cnblogs.com/pangblog/p/3239160.html
Copyright © 2011-2022 走看看