- Регистрация
- 22.12.2015
- Сообщения
- 96
- Благодарностей
- 1
- Баллы
- 8
Здравствуйте!
Пишу шаблон, который GET запросом получает содержимое страницы, после чего при помощи регулярки поэтапно получает нужную информацию. В целом данный шаблон работает хорошо. Но столкнулся с проблемой:
При работе зенопостера он просто не мог пройти дальше, как будто завис, но при этом работал... Стал смотреть в ПМ, оказалось, что шаблон не может выполнить кубик с регуляркой. Ошибок ни каких не выдает. В статусе кубика показано, что он выполняется, но при этом не может выполниться Начал тестить регулярку в тестере регулярок, такая же история... Идет процесс выполнения, но не выполняется.
Такая проблема у меня появилась с сайтом plus.google.com и еще на других.
Что делает шаблон:
1. GET запросом получает содержимое страницы сайтов.
2. При помощи регулярки <head[\w\W]*head> получает содержимое тегов head
3. При помощи регулярки (?<=charset ?= ?"?)[A-Za-z0-9\-]*?(?=[ ">]) получает значение charset
Кубик с регуляркой виснит на 2 этапе.
НО! Что самое интересное: если вместо GET запроса получить содержимое страницы через браузер при помощи "outerhtml" и положить в ту же переменную, запустить тот же кубик с регуляркой, то он выполняется быстро без зависаний.
Такая проблема была еще на нескольких сайтах. Виснит кубик с регуляркой, если содержимое страницы было получено при помощи GET запроса.
Кто сможет помочь разобраться и объяснить почему так происходит? Или это все же БАГ?
Для примера сделал мини шаблон, который состоит из 5 блоков, чтобы вам удобно было протестить.
Очень хотелось бы разобраться. Заранее спасибо
Пишу шаблон, который GET запросом получает содержимое страницы, после чего при помощи регулярки поэтапно получает нужную информацию. В целом данный шаблон работает хорошо. Но столкнулся с проблемой:
При работе зенопостера он просто не мог пройти дальше, как будто завис, но при этом работал... Стал смотреть в ПМ, оказалось, что шаблон не может выполнить кубик с регуляркой. Ошибок ни каких не выдает. В статусе кубика показано, что он выполняется, но при этом не может выполниться Начал тестить регулярку в тестере регулярок, такая же история... Идет процесс выполнения, но не выполняется.
Такая проблема у меня появилась с сайтом plus.google.com и еще на других.
Что делает шаблон:
1. GET запросом получает содержимое страницы сайтов.
2. При помощи регулярки <head[\w\W]*head> получает содержимое тегов head
3. При помощи регулярки (?<=charset ?= ?"?)[A-Za-z0-9\-]*?(?=[ ">]) получает значение charset
Кубик с регуляркой виснит на 2 этапе.
НО! Что самое интересное: если вместо GET запроса получить содержимое страницы через браузер при помощи "outerhtml" и положить в ту же переменную, запустить тот же кубик с регуляркой, то он выполняется быстро без зависаний.
Такая проблема была еще на нескольких сайтах. Виснит кубик с регуляркой, если содержимое страницы было получено при помощи GET запроса.
Кто сможет помочь разобраться и объяснить почему так происходит? Или это все же БАГ?
Для примера сделал мини шаблон, который состоит из 5 блоков, чтобы вам удобно было протестить.
Очень хотелось бы разобраться. Заранее спасибо
Вложения
-
29,8 КБ Просмотры: 215