¿Cómo hago para que Python, QT y Webkit funcionen en un servidor sin cabeza?

Tengo un servidor Debian Linux que uso para una variedad de cosas. Quiero que sea capaz de realizar algunos trabajos de raspado web que necesito que realicen regularmente.

Este código puede serencontrado aquí.

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, False)  # Line updated based on mata's answer
    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()  

Una prueba simple de esto se vería así:

url = 'http://example.com'
print Render(url).frame.toHtml()

En la llamada al constructor, muere con este mensaje (se imprimió en stdout, no una excepción no detectada).

: cannot connect to X server 

¿Cómo puedo usar Python (2.7), QT4 y Webkit en un servidor sin cabeza? Nunca se necesita mostrar nada, por lo que puedo modificar cualquier configuración o cualquier cosa que deba ser ajustada.

He buscado alternativas, pero esta es la mejor opción para mí y para mis proyectos. Si tuviera que instalar un servidor X, ¿cómo podría hacerlo con una sobrecarga mínima?

Respuestas a la pregunta(4)

Su respuesta a la pregunta