Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: html-разгребатель Добавлено: 03.10.05 23:12  

Автор вопроса:  Neco | Web-сайт: neco.pisem.net | ICQ: 247906854 
Кто что может предложить для того, чтобы выдрать полезную инфу из html страницы с учётом того, что технология должна быть достаточно гибкой, чтобы небольшие изменения страницы в будущем не сильно травмировали программёра и ест-но чтобы учитывалась разная ботва, типа наличия или отсутствия некоторых деталей на разных страницах одного рода?
Кстати, пишу то, что, кажется так и не дописали - офф-лайн форум. Тока хочу сделать его как можно более универсальным, чтобы не приходилось выпускать разные версии прог для разных форумов или, по крайней мере, без тех же мучений.
Пробовал различные способы (в основном, составление некоего скрипта, по которому будет идти распознавание страницы, но в разных формах), однако код каждый раз получается здоровый и несуразный.

Ответить

  Ответы Всего ответов: 39  

Номер ответа: 1
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #1
Добавлено: 03.10.05 23:30
Просто пиши разгребатель плагином, а когда надо будет - плаген можно будет быстро заменить на новый

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 03.10.05 23:38
Не конкретный вопрос, чтобы выдрать какое-то значение с хтмл страницы иногда достаточно что-то типа


Public Function GetText1(AllText$, LeftText$, RightText$) As String
'Возвращает текст между двумя другими текстами с двух сторон
s1 = InStr(1, AllText$, LeftText$, 1) + Len(LeftText$)
s2 = InStr(s1, AllText$, RightText$, 1)
GetText1 = Mid(AllText, s1, s2 - s1)
End Function


а бывает где нужно "аккуратно" парсить, что-то искать, из найденного что-то фильтровать, искать дальше итп... т.е. универсальный оффлайн форум написать прокатически невозможно. Другое дело написать оффлайн форум для таких как PhpBB, Invision итп... но мы блин для vbnet так и не дописали, а если ещё вспомнить как писали :) что уж тут про другие говорить :))...

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 04.10.05 00:14
Это кто не дописал? У меня и у sne рабочие программы, все правильно отображают, клиент sne получает посты через сеть, а у меня их надо получать вручную, зато это тратит меньше траффика.
Парсинг HTML-страниц лучше всего делать через регекспы, подробнее поинтересуйся у Павла, он этим занимался по работе.

Ответить

Номер ответа: 4
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #4
Добавлено: 04.10.05 00:28
Да страницу я уже распарсил и сделал из неё дерево - это не проблема и всё быстро работает. Проблема теперь из дерева выдрать данные, ведь у тебя, к примеру, в окошке слева от ответа за ником сразу идёт аська, а у Хакера ещё и "титул". Количество звёзд у всех разное, звёзды тоже разные, сайт не у всех указан и ещё куча таких мелочей, как на разных топиках разный формат отображения даты "Добавлено" - раньше было без года, а теперь с ним.
Как?!!

Ответить

Номер ответа: 5
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #5
Добавлено: 04.10.05 06:26
Да страницу я уже распарсил и сделал из неё дерево

 Я уж грешным делом подумал что синтаксическое дерево :)

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 04.10.05 07:48
Угу, красно-черное сбалансированное B-дерево :)
Не вижу смысла парсить страницу, это ведь не уменьшает траффик. Юзай веб-сервис для оффлайн-клиентов.

Ответить

Номер ответа: 7
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #7 Добавлено: 04.10.05 14:17
во во... а веб сервисы не у каждого форума есть! Поэтому что-то универсальное неполучится

Ответить

Номер ответа: 8
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #8
Добавлено: 05.10.05 07:31
а где взять протокол сервиса?

Ответить

Номер ответа: 9
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 05.10.05 18:51
http://vbnet.ru/offline.asmx

Ответить

Номер ответа: 10
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #10
Добавлено: 06.10.05 00:39
Тормозит чего-то жутко...
А у вас?

Ответить

Номер ответа: 11
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #11
Добавлено: 06.10.05 10:30
все нормально, ты лучше чем изобретать велосипед - подмогни... лично мне осталось только написать хранение и отправку сообщений на форум, и все!

Ответить

Номер ответа: 12
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #12
Добавлено: 06.10.05 18:13
Ага, а потом переделать все с нуля под новые задумки Павла :)

Ответить

Номер ответа: 13
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #13 Добавлено: 06.10.05 20:26
надеемся что Павел с новым сайтом вб.нет протокол оставит старый :)

Ответить

Номер ответа: 14
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #14
Добавлено: 06.10.05 22:14
Он лично сказал, что поменяет.

Ответить

Номер ответа: 15
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #15
Добавлено: 07.10.05 10:47
2Sharp, ты же вкурсе моих идей :) Как думаешь останется-ли протокол таким как он есть сейчас :) ? Глупый вопрос :))

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам