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

maryan

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

Sergodjan

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

maryan

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

Sergodjan

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

maryan

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

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

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

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

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

Sergodjan

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

maryan

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

Sergodjan

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

rostonix

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

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