<div dir="ltr">Я XPath-ом парсил html, правда медленновато такой способ работает. Учить селекторы можно на w3school.</div><div class="gmail_extra"><br><br><div class="gmail_quote">19 декабря 2013 г., 18:14 пользователь Alexey Shrub <span dir="ltr"><<a href="mailto:worldmind@mail.ru" target="_blank">worldmind@mail.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>tidy вроде помогал<br><br><br>Четверг, 19 декабря 2013, 15:24 +02:00 от Oleg Kostyuk <<a href="mailto:cub.uanic@gmail.com" target="_blank">cub.uanic@gmail.com</a>>:<div><div class="h5"><br>
<blockquote style="border-left:1px solid #0857a6;margin:10px;padding:0 0 0 10px">
        <div>
        



    






        

        
        
        
        
        

        

        
        



<div>
        
         
        <div>
                
                
                        <div><div dir="ltr">А как вы боретесь с тем, что далеко не все сайты выдают валидные страницы?<div>Парсинг ломается, селекторы не работают...</div><div>Бежать обратно в каменный век к регуляркам?..</div></div><div class="gmail_extra">


<br><br><div class="gmail_quote">19 декабря 2013 г., 14:37 пользователь Илья Винокуров <span dir="ltr"><<a href="https://e.mail.ru/compose/?mailto=mailto%3ailvin@mail.ru" target="_blank">ilvin@mail.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><br>А еще селекторы можно подсмотреть в FireBug'е ...<br><br><br>Четверг, 19 декабря 2013, 16:20 +04:00 от Foxcool <<a href="https://e.mail.ru/compose/?mailto=mailto%3afoxcool333@gmail.com" target="_blank">foxcool333@gmail.com</a>>:<div>
<div>

<br>
<blockquote style="border-left:1px solid #0857a6;margin:10px;padding:0 0 0 10px">
        <div>
        



    






        

        
        
        
        
        

        

        
        



<div>
        
         
        <div>
                
                
                        <div>
  
    
  
  
    <div>19.12.2013 15:53, Харпалёв Иван пишет:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Спасибо! Очень много ссылок в тему!
        <div>Особенно понравился вариант с  Mojo, поскольку, кажется,
          что материал "для освоения" компактнее.</div>
        <div><br>
        </div>
        <div>Как понимаю, для того, чтобы нормально разбирать страницы,
          нужно освоиться с DOM, всякими селекторами и т.д.</div>
        <div>Такого бэкграунда мало(</div>
        <div>Как его почерпнуть? Может есть туториал из пары уроков, где
          парсинг и ликбезом?)</div>
        <div><br>
        </div>
        <div>Встал на путь истинный, спасибо!</div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">18 декабря 2013 г., 13:21 пользователь
          Анатолий Шарифулин <span dir="ltr"><<a href="https://e.mail.ru/compose/?mailto=mailto%3asharifulin@gmail.com" target="_blank">sharifulin@gmail.com</a>></span>
          написал:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Да, на тестах сразу видно, когда парсер
              ломается, я иногда делаю так :)</div>
            <div class="gmail_extra">
              <div>
                <div><br>
                  <br>
                  <div class="gmail_quote">2013/12/18 Eugene Toropov <span dir="ltr"><<a href="https://e.mail.ru/compose/?mailto=mailto%3aeugene.toropov@gmail.com" target="_blank">eugene.toropov@gmail.com</a>></span><br>



                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Если
                      там реально несколько десятков страниц и смысл в
                      мониторинге, то можно вообще Test::Mojo и
                      проходить последовательно. Код выглядит как-то
                      так:<br>
                      <br>
                      $t->get_ok($t->tx->res->headers->location
                      )->status_is('200')->element_exists('td[style="border-right:1px
                      solid #A2C1D9;"]');<br>
                      <br>
                      $t->post_ok( $url => form => \%pay_form
                      )->status_is(302)->header_like(Location
                      => qr|^<a href="http://partner.a1pay.ru/a1lite/selectType%7C" target="_blank">http://partner.a1pay.ru/a1lite/selectType|</a>);<br>
                      <br>
                      Евгений<br>
                      <div>
                        <div><br>
                          On Dec 18, 2013, at 12:59 PM, Ivan Petrov
                          wrote:<br>
                          <br>
                          >> Используйте Mojo::UserAgent с
                          Mojo::DOM и Mojo::JSON, и забудьте про все
                          ссылки<br>
                          ><br>
                          > если на производительность совсем уж
                          наплевать, то можно и Mojo::DOM с<br>
                          > Mojo::UserAgent<br>
                          ><br>
                          > --<br>
                          > Moscow.pm mailing list<br>
                          > <a href="https://e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
                          <br>
                          --<br>
                          Moscow.pm mailing list<br>
                          <a href="https://e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                  <br>
                  <br clear="all">
                  <div><br>
                  </div>
                </div>
              </div>
              <div>-- <br>
                С уважением,<br>
                 Анатолий Шарифулин.
              </div>
            </div>
            <br>
            --<br>
            Moscow.pm mailing list<br>
            <a href="https://e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a>
            | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
    </blockquote>
    <br>
    <br>
    Я в свое время неплохо освоился с Web::Scraper. Это вроде не такое
    тормозное решение, как с моджо. Однако понадобится работать  с
    селекторами. А селекторы - несложная тема. Берем и смотрим от той же
    моджи доку: <a href="http://mojolicio.us/perldoc/Mojo/DOM/CSS" target="_blank">http://mojolicio.us/perldoc/Mojo/DOM/CSS</a><br>
    И по таким же селекторам можно ловить содержимое вебскрапером.
    Правда там необычный (вроде декларативный) интерфейс и поначалу
    немного ломает мозг, но как только вкуриваешь, то сразу же парсинг
    решулярками или еще какой изврат больше не потянет к себе. Ну а
    селекторы по теблице берешь и копируешь, какой надо. Тут достаточно
    иметь представление об html и css<br>
    <br>
    <pre cols="72">-- 
<a href="http://foxcool.ru" target="_blank">http://foxcool.ru</a>
<a href="https://e.mail.ru/compose/?mailto=mailto%3afoxcool@jabber.ru" target="_blank">foxcool@jabber.ru</a><br></pre>
  


</div>
                        <div>-- <br>
Moscow.pm mailing list<br>
<a href="https://e.mail.ru/sentmsg?compose&To=moscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div>
                
                
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br></div></div><span><font color="#888888">Илья Винокуров<br></font></span></div>
<br>--<br>
Moscow.pm mailing list<br>
<a href="https://e.mail.ru/compose/?mailto=mailto%3amoscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Sincerely yours,<br>Oleg Kostyuk (CUB-UANIC)
</div>
</div>
                        <div>-- <br>
Moscow.pm mailing list<br>
<a href="https://e.mail.ru/sentmsg?compose&To=moscow%2dpm@pm.org" target="_blank">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div>
                
                
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br></div></div><span class="HOEnZb"><font color="#888888">Alexey Shrub<br></font></span></div>
<br>--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
<br></blockquote></div><br></div>