Подтвердить что ты не робот

Ошибка запуска xvfb в ubuntu 11.04

Моя задача сканирует результаты поиска google с помощью безгласного webkit (PyQt4.QtWebkit) в python. Модуль отлично сканировал результаты с помощью PyQt4.I должен был выполнить этот script в amazon ec2.So, мне нужно было бы использовать Xvfb (нет x сервер в ec2).

В то же время мой модуль должен быть выполнен в цикле. Так что он работал нормально для некоторых итераций. После того, как какой-то цикл цикла запущен в "xvfb-run: ошибка: Xvfb не удалось запустить"

Как это должно решить?

Это мой цикл:

for i in range(10):
    try:
        query_dict["start"] = i * 10
        url = base_url + ue(query_dict)
        flag = True
        while flag:
            parsed_dict = main(url)
            time.sleep(8.4)
            flag = False
    except:
        pass

main (url):

def main(url):
    cmd = "xvfb-run python /home/shan/temp/hg_intcen/lib/webpage_scrapper.py"+" "+str(url)
    print "Cmd EXE:"+ cmd
    proc = subprocess.Popen(cmd,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
    proc.wait()
    sys.stdout.flush()
    result = proc.stdout.readlines()
    print "crawled: ",result[1]
    return result

webpage_scrapper будет извлекать все результаты html с помощью pyqt4. Как избежать ошибки xvfb для цикла?

4b9b3361

Ответ 1

Вам нужно добавить параметр --auto-servernum для xvfb-run. В противном случае он пытается вывести Xvfb на один и тот же дисплей (по умолчанию :99), который не удастся, если у вас уже есть один запуск.

Ответ 2

Выполнить так,

xvfb-run --auto-servernum --server-num=1 python webpage_scrapper.py http://google.com