Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];

Вниз

как работают с html?   Найти похожие ветки 

 
картман ©   (2011-04-21 22:31) [0]

Всем привет!

 Нужно сделать тестовое задание. В строке поиска задаем поисковый запрос, идем на нужный сайт, показываем заголовки найденных страниц.

 Как это сделать грамотно? Вытащить все через сокеты, взять текст, повытаскивать из него заголовки? Или через webbrouser шибче? Или есть какой-то более красивый способ получения таких данных(я имею в виду, вытаскивание заголовков со страницы с результатами поиска)?


 
Rouse_ ©   (2011-04-21 22:57) [1]

Вопрос немного размазан.
Конкретизируй: как правильней получить или как правильней распарсить?

Если первое, то WinInet сделает за тебя большинство грязной работы, если второе - то все равно придется работать с нативным HTML.


 
Rouse_ ©   (2011-04-21 23:01) [2]

ЗЫ: еще ты можешь получить XML на вход, который через стили отображается... Короч не понятно с какими данными работать хочешь. Если банальный натив, то тупо парсер с шаблонами пишешь, делов на пару часов, если что другое то...


 
картман ©   (2011-04-21 23:14) [3]


> Конкретизируй: как правильней получить или как правильней
> распарсить?

ок, для получения воспользуюсь примером с твоей странички


> Если банальный натив, то тупо парсер с шаблонами пишешь,
>  делов на пару часов,

да, натив. Про шаблоны можно подробнее?


 
Eraser ©   (2011-04-21 23:17) [4]

> [0] картман ©   (21.04.11 22:31)

что распарсить то надо - выдачу поисковика (какого - яндекса, гугла?) или сайт?


 
картман ©   (2011-04-21 23:21) [5]


> Eraser ©   (21.04.11 23:17) [4]

выдачу распарсить, но такого поисковика - по сайту своему же. Вопрос в том, как сделать это красиво. Думал о шаблонах - как и сказал Rouse_, тока не знаю, что за и как их


 
antonn ©   (2011-04-21 23:24) [6]

Может свой поисковик будет любезен и выдаст результат в нужном формате? :)
типа rss, или вообще ini (как на этом сайте для клиента)


 
картман ©   (2011-04-21 23:25) [7]


> antonn ©   (21.04.11 23:24) [6]


>  Нужно сделать тестовое задание.

с определенного сайта вытаскивать результаты поиска по нему


 
antonn ©   (2011-04-21 23:26) [8]

а поиск внутренний сайта? сайтов тыща и у каждого свой шаблон


 
Eraser ©   (2011-04-21 23:27) [9]

> [0] картман ©   (21.04.11 22:31)

опять возвращаемся к тому, что за сайт и на какой CMS он сделан. Может там xslt движок, так можно напрямую XML парсить, что куда приятнее.


 
картман ©   (2011-04-21 23:29) [10]


> сайтов тыща и у каждого свой шаблон

так я теперь и спрашиваю, что за шаблоны, как делать и т.п.?


> Eraser ©   (21.04.11 23:27) [9]

извольте:
http://rian.ru/


 
Rouse_ ©   (2011-04-21 23:33) [11]

Шаблоны? Каждая страница выдается в определенном формате, грубо есть вывод движка сайта и сам текст. Задача шаблона отсечь вывод "мусор" генерируемый движком с целью откусить сами данные.


 
antonn ©   (2011-04-21 23:34) [12]


> так я теперь и спрашиваю, что за шаблоны, как делать и т.
> п.?

автоматами :)


 
картман ©   (2011-04-21 23:35) [13]


> Rouse_ ©   (21.04.11 23:33) [11]


<html>
  bla-bla-bla
 <body>
  bla-bla-bla
   <data>
     То, шо мне нужно
   </data>
 </body>

  bla-bla-bla
</html>

как будет выглядеть шаблон?


 
Игорь Шевченко ©   (2011-04-21 23:37) [14]


>  Нужно сделать тестовое задание


кто тестируется ?


 
Rouse_ ©   (2011-04-21 23:39) [15]

А тут смотря что используешь. Можно в лоб через POS в три шага: ищем <html>, ищем  <body>, ищем  <data>, копируем от сих до </data>.
Можно регулярками воспользоваться, что в принципе монопенисюально - и кому что проще.


 
картман ©   (2011-04-21 23:40) [16]


> кто тестируется ?

я тестируюсь - решил на работу устроиться в компанию по разработке ПО, тут как-то говорили об этом - убедили, что расти надо там.


 
картман ©   (2011-04-21 23:42) [17]


>  Rouse_ ©   (21.04.11 23:39) [15]



> Можно регулярками воспользоваться

свои автоматы не нужны, достаточно regexp стандартного?


 
картман ©   (2011-04-21 23:43) [18]


>
> свои автоматы не нужны, достаточно regexp стандартного?

т.е. я вот о чем - чтоб шаблон не руками с потом забивать, а так чтоб указывать что надо, а шаблон раз и сделался:)


 
Rouse_ ©   (2011-04-21 23:45) [19]

Я кстати в свое время снимал дамп закрытого сайта, к которому доступ был только через запросы и разрешающего только 5 запросов в день - мне первого способа  за глаза хватило, прокси + 4 шаблона написал с привязкой к тэгам выдаваемым движком и все. Почти три гига информации за неделю снял.

Некоторые пишут навороченный анализатор, но имх для таких задач он в пустую потраченное время


 
Игорь Шевченко ©   (2011-04-21 23:45) [20]


> я тестируюсь - решил на работу устроиться в компанию по
> разработке ПО


Надеюсь, сайту с зарплаты будешь регулярно отстегивать ? А то как-то некузяво получается - устраиваешься ты, а задачу за тебя сделать просишь других.


 
Rouse_ ©   (2011-04-21 23:46) [21]


> а так чтоб указывать что надо, а шаблон раз и сделался:)

Это как раз "Некоторые пишут навороченный анализатор" :)


 
картман ©   (2011-04-21 23:51) [22]


> Rouse_ ©   (21.04.11 23:46) [21]

ну, чтобы заинтересовать, наверное и нужен навороченный... хотя, фиг знает, чего они там хотят - никаких указаний


> Надеюсь, сайту с зарплаты будешь регулярно отстегивать ?
>  

периодически возникают подобные мысли, да как сюда денех перечислить-то? Можно ж всякими яндекс-денюжками, а я такими не пользуюсь...


> задачу за тебя сделать просишь других.

ну уж нет, я только спрашиваю, как шибче - не более того. (да-да, давай теперь будем решать, что есть решение)


 
Eraser ©   (2011-04-21 23:53) [23]

> картман ©

агригатор пишите?
там RSS есть. да и возможно следует обратиться к админам сайта, скорее всего есть спец. механизм.


 
картман ©   (2011-04-21 23:54) [24]


>  решать, что есть решение

да и общение с людьми пойдет на пользу - русский подучу))


 
Rouse_ ©   (2011-04-21 23:54) [25]


> ну, чтобы заинтересовать, наверное и нужен навороченный.
> .. хотя, фиг знает, чего они там хотят - никаких указаний

Дык нужно шашечки или ехать?
Тем более если ТЗ не понятно и инструкций нет, то снимай данные в лоб


 
картман ©   (2011-04-21 23:56) [26]


> Тем более если ТЗ не понятно и инструкций нет, то снимай
> данные в лоб

а что тогда можно увидеть по такому тестовому заданию? Что я знаю функцию Pos?


 
Rouse_ ©   (2011-04-21 23:57) [27]

Кстати ребята дело говорят, все RSS ленты доступны: http://rian.ru/docs/about/rss.html

XML и вперед...


 
Pavia ©   (2011-04-22 00:01) [28]

А может кто порекомендует парсер? А то я пока не особо искал.

Считаю регулярые выражения не грамотным решением. Только парсер. С возможностью составления запроса на EBNF языке(или нечто подобным) и возможностью выбора типа рекурсии при обходе грамматического дерева.


 
antonn ©   (2011-04-22 00:01) [29]

поиск тоже через rss доступен? :)
вообще это граббинг, что там в правилах про софт подобного рода? :)


 
картман ©   (2011-04-22 00:04) [30]


> Rouse_ ©   (21.04.11 23:57) [27]

не, в задании "выполнить поиск средствами сайта"


 
Rouse_ ©   (2011-04-22 00:06) [31]


> А может кто порекомендует парсер? А то я пока не особо искал.

Мне MS-овского за глаза всю жисть хватало. Сторонние может боле скоростные, но тараканы... зачем мне чужие тараканы?


> вообще это граббинг...

Ммм, стесняюсь спросить, а для чего тогда вообще RSS нужен? :)


 
картман ©   (2011-04-22 00:06) [32]


> Pavia ©   (22.04.11 00:01) [28]


> Считаю регулярые выражения не грамотным решением.

почему?


 
картман ©   (2011-04-22 00:07) [33]


> для чего тогда вообще RSS нужен?

для граббинга))


 
xayam ©   (2011-04-22 00:08) [34]


> Считаю регулярые выражения не грамотным решением. Только
> парсер

а asm не грамотное решение, потому что есть delphi ? :)


 
Rouse_ ©   (2011-04-22 00:08) [35]


> картман ©   (22.04.11 00:04) [30]
> не, в задании "выполнить поиск средствами сайта"

Ну ты блин, с тебя все вытягивать чтоль? Сначала ты говоришь что ТЗ нет, теперь говоришь другое. Оперделись короче :)
Давай свой манускрипт сюда, буду посмотреть ©


 
картман ©   (2011-04-22 00:11) [36]


> Давай свой манускрипт сюда


ввод поискового запроса;
выполнение поиска средствами сайта;
показать заголовки новостей с двух первых страниц результатов поиска.


 
antonn ©   (2011-04-22 00:16) [37]


> Ммм, стесняюсь спросить, а для чего тогда вообще RSS нужен?
>  :)

а причем тут rss, ему надо сграбить результаты поискового запроса :)


 
antonn ©   (2011-04-22 00:17) [38]

Я бы обошелся pos(), теги имеют всякие стили по которым можно вырезать их.


 
Rouse_ ©   (2011-04-22 00:20) [39]

первые 2 пункта POST - третий парсить, ибо это уже не RSS


 
Rouse_ ©   (2011-04-22 00:21) [40]

Я Бы тоже обошелся POS, бо странички формализуются достаточно четко, мусор убрать раз плюнуть...



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2011.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.005 c
1-1261613044
Fosgen
2009-12-24 03:04
2011.08.14
array [] of procedure() of object


15-1303461362
tesseract
2011-04-22 12:36
2011.08.14
Расчет стоимости владения оборудованием.


15-1303510486
Иксик
2011-04-23 02:14
2011.08.14
Пол Гэллико


2-1304652940
Cerg
2011-05-06 07:35
2011.08.14
В чем ошибка?


15-1303331396
Юрий
2011-04-21 00:29
2011.08.14
С днем рождения ! 21 апреля 2011 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский