Форум сайта python.su
Сейчас пытаюсь написать парсер для сайта http://www.jr.com/, проблема в том, что нужный мне контент подгружается аяксом. Выглядит сам линк примерно так:
<a href="#ReviewHeader" onclick="POWERREVIEWS.display.getReviewsFromMeta(2, 'HP_P6240F_hy_RB', 'en_US', 'engine-HP_P6240F_hy_RB-en_US', POWERREVIEWS.common.getOptions('engine-HP_P6240F_hy_RB-en_US')); return false;">Next »</a>
Офлайн
Тут лучше всего создать нормальное окружение браузера с помощью QtWebKit/WebKitGtk и парсить уже отрендеренный контент. С помощью JS можно и не парсить, а выдрать из DOM-а браузера по селектору. Кстати в Qt 4.6 это можно сделать и без JS, в питоне (http://doc.qt.nokia.com/4.6/webkit-domtraversal.html).
Отредактировано (Май 21, 2010 17:45:37)
Офлайн
poltergeist
проблема в том, что от меня хотят красивую кнопочку в админке джанги с большой надписью “сделать красиво”, по которой контент окажется в базе…
Офлайн
ну и что? это вполне реально сделать на сервере так, как я написал. QtWebKit будет работать и на сервере, ему десктопное окружение не нужно, никаких окон с браузером открывать не надо, если что, думаю хватит и этого: http://linux.die.net/man/1/xvfb (сам не пробовал ещё). Просто весь контент того сайта генерится джаваскриптом, а самым универсальным способом будет именно имитация настоящего браузера, так что другого выхода я не вижу.
Офлайн