Показать сообщение отдельно
  #1 (permalink)  
Старый 21.02.2013, 04:59
Новичок на форуме
Отправить личное сообщение для foxstrager Посмотреть профиль Найти все сообщения от foxstrager
 
Регистрация: 21.02.2013
Сообщений: 5

Парсер HTML через JQuery(часть страницы)
Здравствуйте, Уважаемые!

Знания JQuery и js на начальном уровне, поэтому прошу вашей помощи, т.к. второй день борюсь с проблемой. Пишу парсер при помощи Google Chrome Extension, вернее только разбираюсь. Есть много информации по теме, но всё не то.
Отступим от пояснений, и к сути вопроса...

Есть main.html:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>xdParser v1.1</title>
<link href="css/main.css" rel="stylesheet"/>
<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/js/main.js"></script>
</head>
<body>
	<img id="progress" src="/css/images/progress.gif"/>
	<input id="starter" type="button" value="Запустить парсер"/>
	<div id="resultbox">
	</div>
</body>
</html>


Есть main.js:
(function($){
function ajaxStart(){
    $('#progress').show();
}
function ajaxStop(){
    $('#progress').hide();
}
function parserGo(){
    ajaxStart();
    var mypage = $.ajax('http://test.html');
    mypage.done(function (data) {
        analysisSite(data);
        ajaxStop();
    });
    mypage.fail(function (e, g, f) {
        alert('Epic Fail');
        ajaxStop();
    })
}
function analysisSite(data){
    var res = '';
    $(data).find('td a').each(function(){
      res+=$(this).text()+'=>'+$(this).attr('href')+'<br/>';
    })
    $('#resultbox').html(res);
}
$(function(){
    $('#progress').hide();
    $('#starter').click(parserGo);
});
})(jQuery);


Вот пример страницы, которую будем парсерить test.html на удалённом сервере:
<body>
...
<h4>Текст 1</h4>
<table><!--тут ссылка вложеная в тег td--></table>
<table><!--тут ссылка вложеная в тег td--></table>
<h4>Текст 2</h4>
<table><!--тут ссылка вложеная в тег td--></table>
<table><!--тут ссылка вложеная в тег td--></table>
<h4>Текст 3</h4>
<table><!--тут ссылка вложеная в тег td--></table>
<table><!--тут ссылка вложеная в тег td--></table>
и т.д.
...
</body>


Скрипт рабочий и проверен в полевых условиях, но выводит все ссылки в тегах td, есть статья по которой всё это проделывал.
Вопрос:
Как мне достать ссылки только между "Текст 1" и "Текст 2"?
Буду очень признателен за пример кода или полезные ссылки, спасибо!

Последний раз редактировалось foxstrager, 21.02.2013 в 05:03.
Ответить с цитированием