|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.01.2011, 18:43 | #1 |
Регистрация: 21.01.2011
Сообщений: 6
|
Универсальный парсер
Здравствуйте, есть задание. Нужно написать универсальный парсер, с использованием регулярных выражений. Для начала нужно хотя бы, чтобы прога умела парсить такой ресурс как kinopoisk.ru, выдавая при этом название фильма, год, страну, актеров и т.д. Может кто писал такое. Буду благодарен за любые данные. Заранее спасибо
|
25.01.2011, 11:35 | #2 |
Форумчанин
Регистрация: 12.02.2009
Сообщений: 215
|
100% универсальных парсеров не существует.
Парсеры (а точнее говоря граберы) пишутся обычно под конкретный сайт. Все универсальные оболочки (я их уже перебрал ради интереса несколько штук) опять же донастраиваются под конкретные сайты. А так, написать по конкретному ТЗ парсер - не особая проблема, если конечно никаких хитрых защит на сайте не стоит. А насчет информации как писать парсер. Алгорит у них всех весьма примитивный. 1. получить страницу 2. собрать по необходимости с нее ссылки. 3. собрать необходимую информацию. и так пока есть ссылки. Для получения страницы пользовать Indy, Overbyte ICS, synapse. Для выдергивания ссылок - либо поиск в тексте стандартными функциями, либо найти библиотеки и пользовать регулярные выражения. С регулярными выражениями по началу конечьно не столь легко, но потом жизнь становиться проще
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Последний раз редактировалось Mifody; 25.01.2011 в 11:39. |
25.01.2011, 12:54 | #3 |
Регистрация: 21.01.2011
Сообщений: 6
|
Огромное спасибо за ответ. Вчера долго очень парился над всем этим, но в итоге написал парсер под сайт кинопоиск.ру, получаю список страниц и названия фильмов с них. Как это все работает разобрался. Но вот столкнулся с проблемой регулярных выражений. Никогда раньше не приходилось с ними сталкиваться. Может кто-нибудь может подсказать литературу по ним. Заранее спасибо.
|
25.01.2011, 13:22 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так, навскидку:
Mastering Regular Expressions (Jeffrey E.F. Friedl) (издание O'Reilly) Регулярные выражения (Дж. Фридл) (то же, но на русском) Регулярные выражения. 10 минут на урок Автор: Бен Форта а ещё, Вы же в Delphi будете библиотечку для работы с регулярными выражениями ставить? Так вот, в TRegExpr в комплекте очень неплохая документация и примеры... Последний раз редактировалось Serge_Bliznykov; 25.01.2011 в 13:25. |
25.01.2011, 15:11 | #5 | |
Регистрация: 21.01.2011
Сообщений: 6
|
Цитата:
Написание парсера идет хорошо, но вот столкнулся еще с одной проблемой. Изначально прога парсила страницы сайта по id. А как быть если у страницы нет id? Т.е. как получить список нужных страниц на сайте? Очень нужно решение этой проблемы. Последний раз редактировалось Stilet; 27.01.2011 в 17:49. |
|
25.01.2011, 18:04 | #6 | |
Форумчанин
Регистрация: 12.02.2009
Сообщений: 215
|
Цитата:
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
|
|
27.01.2011, 16:28 | #7 |
Регистрация: 21.01.2011
Сообщений: 6
|
Доброго времени суток всем. Подскажите пожалуйста, как получить список всех ссылок со страницы. Парсер пишу с использованием URLMon, страницу получаю с помощью URLDownloadFile. Заранее спасибо.
|
27.01.2011, 17:53 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Удаляешь процедурой delete все до найденной позиции Выбираешь через сору данные начиная с 1 до первой >. И опять поиск через Роs. Тут подобные уже обсуждались парсеры. Вот например:http://www.programmersforum.ru/showthread.php?t=108856
I'm learning to live...
|
|
27.01.2011, 18:02 | #9 |
Регистрация: 21.01.2011
Сообщений: 6
|
Спасибо за ответ!
Со списком всех ссылок я разобрался. Теперь новая задача, нужно вывести только однотипные ссылки. Например в тексте которых встречается: "/video/index/". Тут наверно только с помощью регулярок можно что-то сделать. Или я ошибаюсь? |
27.01.2011, 18:07 | #10 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Универсальный запрос | Kostya777 | Microsoft Office Access | 2 | 17.11.2010 20:04 |
Универсальный парсер | gamer123 | Общие вопросы Delphi | 20 | 10.08.2010 09:23 |
Универсальный Инсталятор скриптами и Delphi | Jenya | Свободное общение | 4 | 14.10.2009 15:21 |
Delphi и АСМ. универсальный запуск | Пепел Феникса | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 22.09.2009 20:18 |
Универсальный стилизатор исходного кода | Eldarion | Помощь студентам | 3 | 26.04.2009 19:02 |