Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Парсер


Алексей Шестченко ©   (2008-02-07 20:13:00) 

Если я неправильно понял,то поправьте и подскажите.
Не совсем "оценивающее ситуацию" начальство дало задание "проверить интеренет" на наличие сайтов где находятся название нашей программы.
Понятное дело что вручное это не возможно и я так понял что надо сделать некий парсер. Может кто дать ссылки или направить в какую сторону копать и что делать. Маленький опыт с delphi есть.
Заранее благодарю.


Алексей Шестченко   (2008-02-08 15:14:00) [1]

Да...что то совсем я:)
Вообщем всё нормально работает! Спасибо всем, тему можно закрывать!


Palladin   (2008-02-08 13:40:00) [2]

это ж какой интернет надо иметь что бы за меньше чем 50 мс ресурс получался...


Palladin   (2008-02-08 13:38:00) [3]


> [14] Алексей Шестченко   (08.02.08 13:27)

дык а с чего ты взял что это время парсинга? как бы от доступности хоста это разве не зависит?


ketmar   (2008-02-08 13:33:00) [4]

>[15] Алексей Шестченко (2008-02-08 13:28:00)
>может надо использовать другой компонент нежели idhttp?
а что ты такого делаешь, что так жестоко на тормоза наступаешь? может, виноват и не жираф?

---
Understanding is not required. Only obedience.


Алексей Шестченко   (2008-02-08 13:28:00) [5]

так вот может надо использовать другой компонент нежели idhttp?
Благодарю всех за ответы и трату времени!


Алексей Шестченко   (2008-02-08 13:27:00) [6]

разницы нету что в стринг что в мемо, ~50-200 мс


DrPass   (2008-02-08 12:36:00) [7]


> Алексей Шестченко   (08.02.08 05:39) [8]
> показывал же код:
> memo1.Lines.Text := HTTP.Get();
> но текста много и вставляется не сразу

Ну наверное ж вставляется не сразу не потому, что текста много, а потому, что сначала ищет страницу в Интернете и скачивает ее к тебе на компьютер. И только потом загружает в мемо


han_malign   (2008-02-08 11:19:00) [8]


> Ничего удобнее memo для отображения разного текстового мусора в VCL еще не придумано.

- для всякоготекстового мусорасуществуют логи...

> но текста много и вставляется не сразу, потом обратока из
> этого же memo, может стоит использовать StringList?

- а чем не устраивет простой String и конкатенация?(см. Anatoly Podgoretsky © [11])


Anatoly Podgoretsky   (2008-02-08 08:40:00) [9]


> memo1.Lines.Text := HTTP.Get();

Это не парсер и единственная потеря здесь - время на выделение памяти, кстати очень много, примерно раза в три/четыре больше чем размер текста.
Хочешь ускорить и уменьшить потери, то S  := HTTP.Get();


ketmar   (2008-02-08 06:07:00) [10]

>[8] Алексей Шестченко (2008-02-08 05:39:00)
стоит. не просто стоит, а категорически рекомендуется. а ещё лучше — получить, например, всё скопом и натравить на это многокилометровый regexp. и язык лучше взять perl, например.

---
Understanding is not required. Only obedience.


ketmar   (2008-02-08 06:06:00) [11]

>[7] Бегущий человек © (2008-02-08 05:26:00)
ну вот и посмотри на [8]. если memo для этого придумано — я Гигер.

---
Understanding is not required. Only obedience.


Алексей Шестченко   (2008-02-08 05:39:00) [12]

показывал же код:
memo1.Lines.Text := HTTP.Get();
но текста много и вставляется не сразу, потом обратока из этого же memo, может стоит использовать StringList?
Спасибо за ответы


Бегущий человек   (2008-02-08 05:26:00) [13]

>ketmar ©   (08.02.08 05:10) [6]
Ничего удобнее memo для отображения разного текстового мусора в VCL еще не придумано.
> аффтар
Пока нет кода - подсказывать нечего.


ketmar   (2008-02-08 05:10:00) [14]

>[4] Алексей Шестченко (2008-02-08 04:41:00)
куда уж быстрей-то? разве телепатией.

а в memo не надо. что за привычка — как хранилище, так memo. это редактор для заметок, а не хранилище для мусора.

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

---
Understanding is not required. Only obedience.


ketmar   (2008-02-08 05:08:00) [15]

всё то же самое. из html от гугля можно тупо выдёргивать ссылки регулярными выражениями.

---
Understanding is not required. Only obedience.


Алексей Шестченко   (2008-02-08 04:41:00) [16]

Скажите пожалуйста есть ли аналоги, работающие быстрее чем
HTTP.Get(); ??
полученную ссылку загружаю в мемо и далее анализирую.
если использваоть не мемо а работать с памятью то будет быстрее? подскажите каким образом увеличить скорость работы ?
Спасибо


Алексей Шестченко   (2008-02-07 20:31:00) [17]

Большое спасибо за ответы.
Я не в полной мере описал задачу. Нужно получить только ссылки на эти сайты,а затем в отчет. Т.е. в memo построчно записывать найденные ссылки.
С уважением, Алексей.


clickmaker   (2008-02-07 20:19:00) [18]


> "проверить интеренет" на наличие сайтов где находятся название
> нашей программы

google.ru и yandex.ru


Джо   (2008-02-07 20:17:00) [19]

Google.com
и поиск по резултатам.


Наверх

Титульная страница Поиск, карта сайта Написать письмо