Проблема с парсингом

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
Переходим по url, далее берем DOM и проверяем наличие кода. Оказывается, что в 30% случаях есть код, но шаб выдает ошибку. Проблема в том, что DOM находится в виджете vk.com. Как бы страница загрузилась, а виджет еще подгружается... DOM сохранился до загрузки виджета. Но даже сделал проверку и вижу через "исследовать элемент", что нужный мне код есть, но все равно его не находит.
есть решения? как обновить DOM ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 488
Благодарностей
8 694
Баллы
113
код, который нужно проверять, содержит кавычки?
 

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
код, который нужно проверять, содержит кавычки?
нет, обычное слово. Проблема в том, что код подгружается(вк виджет - фрейм). И это не сложная регулярка. Взять DOM vk_group и проверить !=
и тут логика ошибается
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 488
Благодарностей
8 694
Баллы
113
тут гадать и спрашивать долго можно, взяли бы да и привели скриншот отрывка шаблона, где проверяете, пример проверяемого слова и прочие подробности, если есть..
 

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
Извините, может тему назвал не так..
Что тут скринить то?

Обычный виджет комментариев вк http://arhangel.ru/

взять DOM/ regex привет
проверка не равно ли нулю

Хоть и на странице есть слово "привет" но переменная равна нулю.
почему равна нулю? потому что в DOM не успел "залететь" код фрейма. Сколько бы не брал DOM после паузы - все равно не словит виджет от вк. Только при перезагрузке страницы могло нормально схватить(и то в 50% случаях при многопотоке).

Проблему решил. Переделал шаб и пробую брать innerhtml, если не получилось взять, то беру через пару сек и уже все норм)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 488
Благодарностей
8 694
Баллы
113
все таки скрин помог бы здорово, потому что если б вы не написали в конце предыдущего сообщения, что все получилось (проблему решили), то я первым делом бы придрался к тому, что строковую переменную нельзя сравнивать с нулем, это ведь не число.. сравнивать надо с пустотой в кавычках..
 

maryan

Client
Регистрация
04.07.2014
Сообщения
230
Благодарностей
40
Баллы
28
я неправильно выразился. имел введу '!='
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 488
Благодарностей
8 694
Баллы
113
я неправильно выразился. имел введу '!='
вот из таких нюансов и складывается непонимание, когда лучше 1 раз увидеть, чем 100 раз услышать.. все таки поговорки народные - великая сила! :-)
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Если элементы подгружаются с задержкой, значит нужно задержку выдерживать экшеном пауза, перед тем как пытаться анализировать DOM
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)