Я 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]<https://e.mail.ru/compose/?mailto=mailto%[email protected]>
> > написал:
>
>>
>> А еще селекторы можно подсмотреть в FireBug'е ...
>>
>>
>> Четверг, 19 декабря 2013, 16:20 +04:00 от Foxcool 
>> <[email protected]<https://e.mail.ru/compose/?mailto=mailto%[email protected]>
>> >:
>>
>>    19.12.2013 15:53, Харпалёв Иван пишет:
>>
>> Спасибо! Очень много ссылок в тему!
>> Особенно понравился вариант с  Mojo, поскольку, кажется, что материал
>> "для освоения" компактнее.
>>
>>  Как понимаю, для того, чтобы нормально разбирать страницы, нужно
>> освоиться с DOM, всякими селекторами и т.д.
>> Такого бэкграунда мало(
>> Как его почерпнуть? Может есть туториал из пары уроков, где парсинг и
>> ликбезом?)
>>
>>  Встал на путь истинный, спасибо!
>>
>>
>> 18 декабря 2013 г., 13:21 пользователь Анатолий Шарифулин <
>> [email protected]<https://e.mail.ru/compose/?mailto=mailto%[email protected]>
>> > написал:
>>
>>> Да, на тестах сразу видно, когда парсер ломается, я иногда делаю так :)
>>>
>>>
>>> 2013/12/18 Eugene Toropov 
>>> <[email protected]<https://e.mail.ru/compose/?mailto=mailto%[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]<https://e.mail.ru/compose/?mailto=mailto%3amoscow%[email protected]>|
>>>> http://moscow.pm.org
>>>>
>>>> --
>>>> Moscow.pm mailing list
>>>> [email protected]<https://e.mail.ru/compose/?mailto=mailto%3amoscow%[email protected]>|
>>>> http://moscow.pm.org
>>>>
>>>
>>>
>>>
>>>   --
>>> С уважением,
>>>  Анатолий Шарифулин.
>>>
>>> --
>>> Moscow.pm mailing list
>>> [email protected]<https://e.mail.ru/compose/?mailto=mailto%3amoscow%[email protected]>|
>>> http://moscow.pm.org
>>>
>>>
>>
>>
>>
>>
>> Я в свое время неплохо освоился с Web::Scraper. Это вроде не такое
>> тормозное решение, как с моджо. Однако понадобится работать  с селекторами.
>> А селекторы - несложная тема. Берем и смотрим от той же моджи доку:
>> http://mojolicio.us/perldoc/Mojo/DOM/CSS
>> И по таким же селекторам можно ловить содержимое вебскрапером. Правда там
>> необычный (вроде декларативный) интерфейс и поначалу немного ломает мозг,
>> но как только вкуриваешь, то сразу же парсинг решулярками или еще какой
>> изврат больше не потянет к себе. Ну а селекторы по теблице берешь и
>> копируешь, какой надо. Тут достаточно иметь представление об html и css
>>
>> -- http://[email protected] 
>> <https://e.mail.ru/compose/?mailto=mailto%[email protected]>
>>
>>  --
>> Moscow.pm mailing list
>> [email protected]<https://e.mail.ru/sentmsg?compose&To=moscow%[email protected]>|
>> http://moscow.pm.org
>>
>>
>>
>> --
>> Илья Винокуров
>>
>> --
>> Moscow.pm mailing list
>> [email protected]<https://e.mail.ru/compose/?mailto=mailto%3amoscow%[email protected]>|
>> http://moscow.pm.org
>>
>>
>
>
> --
> Sincerely yours,
> Oleg Kostyuk (CUB-UANIC)
>  --
> Moscow.pm mailing list
> [email protected] <https://e.mail.ru/sentmsg?compose&To=moscow%[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

Ответить