在内存网页浏览中

时间:2012-06-27 14:09:46

标签: web screen-scraping

他们以任何方式在没有任何浏览器的情况下执行html后执行网页javascript的加载事件。即我需要废弃通过javascript呈现的网页内容,例如bdc新闻网页的vedio是在页面加载后通过javacscript呈现的,我有兴趣废弃视频链接和镜头描述。 http://www.bbc.co.uk/news/video_and_audio/

2 个答案:

答案 0 :(得分:0)

据我所知,

。如果内容是由Javascript呈现的,则需要一个浏览器。可以自动化浏览器:http://seleniumhq.org/

答案 1 :(得分:0)

我经常使用webkit执行此操作: http://webscraping.com/blog/Scraping-JavaScript-webpages-with-webkit/

import sys  
from PyQt4.QtGui import *  
from PyQt4.QtCore import *  
from PyQt4.QtWebKit import *  

class Render(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()  

url = 'http://sitescraper.net'  
r = Render(url)  
html = r.frame.toHtml()