Gdy CURL to za mało
Kilka dni temu natrafiłem na ciekawy "problem" do rozwiązania - monitorowanie pojawiających się reklam na określonych stronach kilku serwisów (czy reklamy się pojawiają, czy nie ma reklam konkurencji i podobne zagadnienia). W tym przypadku nie można po prostu pobrać treści strony, gdyż reklamy wstawiane tam są za pomocą JavaScriptu, w tym różnych "wklejek" (porównaj źródło strony z inspektorem w Firebugu). Rozwiązałem to pisząc prostą aplikację w PyQt wykorzystującą qt-webkit. Strona była ładowana (renderowana) i w zrenderowanej zawartości strony wyszukiwane były clickTagi reklam flashowych, zapisywane, a później ładowane (i zapisywane URLe, tytuły stron końcowych). Rozwiązanie to działa i zebrane dane zadowoliły dział reklamy :) Kilka spostrzeżeń odnośnie qt-webkit: warto usuwać historię widżetu (i chyba coś jeszcze), bo aplikacja kończąć działalność zajmume ~75% z 2GB RAMu. Widżet musi być narysowany - inaczej niektóre strony spowodują "Naruszenie ochrony pamięci" - strony zawierające jakiś specyficzny kod JS, czy też z wyskakującym okienkiem w przypadku braku wtyczki flash.
Comment article