Ну так сначала tidy приводит к xml, а потом xpath
Четверг, 19 декабря 2013, 19:06 +04:00 от Андрей П. Ковбович<[email protected]>: >Я XPath-ом парсил html, правда медленновато такой способ работает. Учить >селекторы можно на w3school. > > >19 декабря 2013 г., 18:14 пользователь Alexey Shrub < [email protected] > >написал: >>tidy вроде помогал >> >> >>Четверг, 19 декабря 2013, 15:24 +02:00 от Oleg Kostyuk < [email protected] >>>: >> >>>А как вы боретесь с тем, что далеко не все сайты выдают валидные страницы? >>>Парсинг ломается, селекторы не работают... >>>Бежать обратно в каменный век к регуляркам?.. >>> >>> >>>19 декабря 2013 г., 14:37 пользователь Илья Винокуров < [email protected] > >>>написал: >>>> >>>>А еще селекторы можно подсмотреть в FireBug'е ... >>>> >>>> >>>>Четверг, 19 декабря 2013, 16:20 +04:00 от Foxcool < [email protected] >: >>>> >>>>>19.12.2013 15:53, Харпалёв Иван пишет: >>>>>>Спасибо! Очень много ссылок в тему! >>>>>>Особенно понравился вариант с Mojo, поскольку, кажется, что материал "для освоения" компактнее. >>>>>> >>>>>>Как понимаю, для того, чтобы нормально разбирать страницы, нужно освоиться с DOM, всякими селекторами и т.д. >>>>>>Такого бэкграунда мало( >>>>>>Как его почерпнуть? Может есть туториал из пары уроков, где парсинг и ликбезом?) >>>>>> >>>>>>Встал на путь истинный, спасибо! >>>>>> >>>>>> >>>>>>18 декабря 2013 г., 13:21 пользователь Анатолий Шарифулин < [email protected] > написал: >>>>>>>Да, на тестах сразу видно, когда парсер ломается, я иногда делаю так :) >>>>>>> >>>>>>> >>>>>>>2013/12/18 Eugene Toropov < [email protected] > >>>>>>>>Если там реально несколько десятков страниц и смысл в мониторинге, то можно вообще Test::Mojo и проходить последовательно. Код выглядит как-то так: >>>>>>>> >>>>>>>>$t->get_ok($t->tx->res->headers->location )->status_is('200')->element_exists('td[style="border-right:1px solid #A2C1D9;"]'); >>>>>>>> >>>>>>>>$t->post_ok( $url => form => \%pay_form )->status_is(302)->header_like(Location => qr|^ http://partner.a1pay.ru/a1lite/selectType| ); >>>>>>>> >>>>>>>>Евгений >>>>>>>> >>>>>>>>On Dec 18, 2013, at 12:59 PM, Ivan Petrov wrote: >>>>>>>> >>>>>>>>>> Используйте Mojo::UserAgent с Mojo::DOM и Mojo::JSON, и забудьте про все ссылки >>>>>>>>> >>>>>>>>> если на производительность совсем уж наплевать, то можно и Mojo::DOM с >>>>>>>>> Mojo::UserAgent >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Moscow.pm mailing list >>>>>>>>> [email protected] | http://moscow.pm.org >>>>>>>> >>>>>>>>-- >>>>>>>>Moscow.pm mailing list >>>>>>>>[email protected] | http://moscow.pm.org >>>>>>> >>>>>>> >>>>>>> >>>>>>>-- >>>>>>>С уважением, >>>>>>> Анатолий Шарифулин. >>>>>>>-- >>>>>>>Moscow.pm mailing list >>>>>>>[email protected] | http://moscow.pm.org >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>>Я в свое время неплохо освоился с Web::Scraper. Это вроде не такое тормозное решение, как с моджо. Однако понадобится работать с селекторами. А селекторы - несложная тема. Берем и смотрим от той же моджи доку: http://mojolicio.us/perldoc/Mojo/DOM/CSS >>>>>И по таким же селекторам можно ловить содержимое вебскрапером. Правда там необычный (вроде декларативный) интерфейс и поначалу немного ломает мозг, но как только вкуриваешь, то сразу же парсинг решулярками или еще какой изврат больше не потянет к себе. Ну а селекторы по теблице берешь и копируешь, какой надо. Тут достаточно иметь представление об html и css >>>>> >>>>>-- >>>>>http://foxcool.ru >>>>>[email protected] >>>>>-- >>>>>Moscow.pm mailing list >>>>>[email protected] | http://moscow.pm.org >>>> >>>> >>>>-- >>>>Илья Винокуров >>>> >>>>-- >>>>Moscow.pm mailing list >>>>[email protected] | http://moscow.pm.org >>>> >>> >>> >>> >>>-- >>>Sincerely yours, >>>Oleg Kostyuk (CUB-UANIC) >>>-- >>>Moscow.pm mailing list >>>[email protected] | http://moscow.pm.org >> >> >>-- >>Alexey Shrub >> >>-- >>Moscow.pm mailing list >>[email protected] | http://moscow.pm.org >> > >-- >Moscow.pm mailing list >[email protected] | http://moscow.pm.org -- Alexey Shrub
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
