Автор Тема: парсинг html  (Прочитано 3437 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн perl81

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.usauto.net.ru/
парсинг html
« : 24 Апреля 2006, 17:46:10 »
Привет.

задача:
Есть html файл, нужно вытащить все названия ссылок.

для примера есть :
 www.ru">лучшая девушка в СССР

надо получить : лучшая девушка в СССР

В сторону какого модуля копать? думаю что то вроде HTTP::Parser или HTML::LinkExtor?? или неправ?

Оффлайн xames

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 62
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
парсинг html
« Ответ #1 : 25 Апреля 2006, 09:33:45 »
@all_name_links = $content =~ m%(.+?)%ig;

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
парсинг html
« Ответ #2 : 25 Апреля 2006, 13:25:10 »
 use HTML::TokeParser;
my $p = HTML::TokeParser->new("index.html");
if ($p->get_tag("title")){
   my $title = $p->get_trimmed_text; # Содержимое <br />}<br />while (my $token = $p->get_tag("a")) {  # перибираем все <a href><br />   my $url = $token->[1]{href} || "";<br />   my $text = $p->get_trimmed_text("/a"); # Текст между <a ...> и </a><br />}</code></div> </div> </div> <div class="moderatorbar"> <div class="smalltext modified" id="modified_140824"> </div> <div class="smalltext reportlinks"> <img src="//forums.webscript.ru/Themes/default/images/ip.gif" alt="" /> Записан </div> <div class="signature" id="msg_140824_signature">пока-пока. <img src="http://forums.webscript.ru/Smileys/akyhne/smiley.gif" alt=":)" title="" class="smiley" /></div> </div> </div> <span class="botslice"><span></span></span> </div> <hr class="post_separator" /> </form> </div> <a id="lastPost"></a> <div class="pagesection"> <div class="buttonlist floatright"> <ul> <li><a class="button_strip_print" href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=printpage;topic=23240.0" rel="new_win nofollow"><span class="last">Печать</span></a></li> </ul> </div> <div class="pagelinks floatleft">Страницы: [<strong>1</strong>]   <a href="#top"><strong>Вверх</strong></a></div> <div class="nextlinks_bottom"><a href="http://forums.webscript.ru/index.php/topic,23240.0/prev_next,prev.html?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216#new">« предыдущая тема</a> <a href="http://forums.webscript.ru/index.php/topic,23240.0/prev_next,next.html?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216#new">следующая тема »</a></div> </div> <div class="navigate_section"> <ul> <li> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&"><span>Forum Webscript.Ru</span></a> » </li> <li> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&#c32"><span>Программирование</span></a> » </li> <li> <a href="http://forums.webscript.ru/index.php/board,14.0.html?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216"><span>Perl</span></a> » </li> <li class="last"> <a href="http://forums.webscript.ru/index.php/topic,23240.0.html?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216"><span>парсинг html</span></a> </li> </ul> </div> <div id="moderationbuttons"></div> <div class="plainbox" id="display_jump_to"> </div> <br class="clear" /> <script type="text/javascript" src="//forums.webscript.ru/Themes/default/scripts/topic.js"></script> <script type="text/javascript"><!-- // --><![CDATA[ var oQuickReply = new QuickReply({ bDefaultCollapsed: true, iTopicId: 23240, iStart: 0, sScriptUrl: smf_scripturl, sImagesUrl: "//forums.webscript.ru/Themes/default/images", sContainerId: "quickReplyOptions", sImageId: "quickReplyExpand", sImageCollapsed: "collapse.gif", sImageExpanded: "expand.gif", sJumpAnchor: "quickreply" }); if ('XMLHttpRequest' in window) { var oQuickModify = new QuickModify({ sScriptUrl: smf_scripturl, bShowModify: true, iTopicId: 23240, sTemplateBodyEdit: '\n\t\t\t\t\t\t\t\t<div id="quick_edit_body_container" style="width: 90%">\n\t\t\t\t\t\t\t\t\t<div id="error_box" style="padding: 4px;" class="error"><' + '/div>\n\t\t\t\t\t\t\t\t\t<textarea class="editor" name="message" rows="12" style="width: 100%; margin-bottom: 10px;" tabindex="1">%body%<' + '/textarea><br />\n\t\t\t\t\t\t\t\t\t<input type="hidden" name="a649a8cd619d" value="2143ca4b594f87f3c20e41af6d5785f9" />\n\t\t\t\t\t\t\t\t\t<input type="hidden" name="topic" value="23240" />\n\t\t\t\t\t\t\t\t\t<input type="hidden" name="msg" value="%msg_id%" />\n\t\t\t\t\t\t\t\t\t<div class="righttext">\n\t\t\t\t\t\t\t\t\t\t<input type="submit" name="post" value="Сохранить" tabindex="2" onclick="return oQuickModify.modifySave(\'2143ca4b594f87f3c20e41af6d5785f9\', \'a649a8cd619d\');" accesskey="s" class="button_submit" />  <input type="submit" name="cancel" value="Отменить" tabindex="3" onclick="return oQuickModify.modifyCancel();" class="button_submit" />\n\t\t\t\t\t\t\t\t\t<' + '/div>\n\t\t\t\t\t\t\t\t<' + '/div>', sTemplateSubjectEdit: '<input type="text" style="width: 90%;" name="subject" value="%subject%" size="80" maxlength="80" tabindex="4" class="input_text" />', sTemplateBodyNormal: '%body%', sTemplateSubjectNormal: '<a hr'+'ef="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&'+'?topic=23240.msg%msg_id%#msg%msg_id%" rel="nofollow">%subject%<' + '/a>', sTemplateTopSubject: 'Тема: %subject%  (Прочитано 3437 раз)', sErrorBorderStyle: '1px solid red' }); aJumpTo[aJumpTo.length] = new JumpTo({ sContainerId: "display_jump_to", sJumpToTemplate: "<label class=\"smalltext\" for=\"%select_id%\">Перейти в:<" + "/label> %dropdown_list%", iCurBoardId: 14, iCurBoardChildLevel: 0, sCurBoardName: "Perl", sBoardChildLevelIndicator: "==", sBoardPrefix: "=> ", sCatSeparator: "-----------------------------", sCatPrefix: "", sGoButtonLabel: "да" }); aIconLists[aIconLists.length] = new IconList({ sBackReference: "aIconLists[" + aIconLists.length + "]", sIconIdPrefix: "msg_icon_", sScriptUrl: smf_scripturl, bShowModify: true, iBoardId: 14, iTopicId: 23240, sSessionId: "2143ca4b594f87f3c20e41af6d5785f9", sSessionVar: "a649a8cd619d", sLabelIconList: "Иконка сообщения", sBoxBackground: "transparent", sBoxBackgroundHover: "#ffffff", iBoxBorderWidthHover: 1, sBoxBorderColorHover: "#adadad" , sContainerBackground: "#ffffff", sContainerBorder: "1px solid #adadad", sItemBorder: "1px solid #ffffff", sItemBorderHover: "1px dotted gray", sItemBackground: "transparent", sItemBackgroundHover: "#e0e0f0" }); } // ]]></script> <script type="text/javascript"><!-- // --><![CDATA[ var verificationpostHandle = new smfCaptcha("http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=verificationcode;vid=post;rand=0436ae0538dc5a1f99353c688933d9cc", "post", 1); // ]]></script><div class="sitemap_index centertext"><a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap">Sitemap</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=44.0">1</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=2.0">2</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=10.0">3</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=29.0">4</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=9.0">5</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=38.0">6</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=40.0">7</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=11.0">8</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=12.0">9</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=45.0">10</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=49.0">11</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=36.0">12</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=14.0">13</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=16.0">14</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=34.0">15</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=33.0">16</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=55.0">17</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=53.0">18</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=27.0">19</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=17.0">20</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=20.0">21</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=21.0">22</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=37.0">23</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=41.0">24</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=48.0">25</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=22.0">26</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=54.0">27</a> <a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=kitsitemap&board=23.0">28</a> </div> </div> </div></div> <div id="footer_section"><div class="frame"> <ul class="reset"> <li class="copyright"> <span class="smalltext" style="display: inline; visibility: visible; font-family: Verdana, Arial, sans-serif;"><a href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=credits" title="Simple Machines Forum" target="_blank" class="new_win">SMF 2.0.19</a> | <a href="http://www.simplemachines.org/about/smf/license.php" title="License" target="_blank" class="new_win">SMF © 2016</a>, <a href="http://www.simplemachines.org" title="Simple Machines" target="_blank" class="new_win">Simple Machines</a> </span></li> <li><a id="button_xhtml" href="http://validator.w3.org/check?uri=referer" target="_blank" class="new_win" title="Valid XHTML 1.0!"><span>XHTML</span></a></li> <li><a id="button_rss" href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&action=.xml;type=rss" class="new_win"><span>RSS</span></a></li> <li class="last"><a id="button_wap2" href="http://forums.webscript.ru/index.php?PHPSESSID=ntuj1uki14i6jqkj1udkbbn216&wap2" class="new_win"><span>Мобильная версия</span></a></li> </ul> <p>Страница сгенерирована за 0.059 секунд. Запросов: 21.</p> </div> </div> </div><!-- Yandex.RTB R-A-1857-5 --> <div id="yandex_rtb_R-A-1857-5"></div> <script type="text/javascript"> (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-A-1857-5", renderTo: "yandex_rtb_R-A-1857-5", horizontalAlign: false, async: true }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks"); </script> <br> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write('<a href="//www.liveinternet.ru/click" '+ 'target=_blank><img src="//counter.yadro.ru/hit?t11.4;r'+ escape(document.referrer)+((typeof(screen)=='undefined')?'': ';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+';u'+escape(document.URL)+ ';'+Math.random()+ '" alt="" title="LiveInternet: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодн\я" '+ 'border=0 width=88 height=31><\/a>')//--></script><!--/LiveInternet--> <!-- YaMetrics --> <script type="text/javascript"><!-- var ya_class = 1; var ya_cid = 1857; //--></script> <script type="text/javascript" src="//bs.yandex.ru/resource/watch.js"></script> <noscript><div style="display: inline;"><img src="//bs.yandex.ru/watch/1857" width="1" height="1" alt="" /></div></noscript> <!-- Yandex.Metrika counter --> <div style="display:none;"><script type="text/javascript"> (function(w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter1857 = new Ya.Metrika(1857, null, 1); yaCounter1857.clickmap(true); yaCounter1857.trackLinks(true); } catch(e) { } }); })(window, 'yandex_metrika_callbacks'); </script></div> <script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript" defer="defer"></script> <noscript><div style="position:absolute"><img src="//mc.yandex.ru/watch/1857?cnt-class=1" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> </body></html>