![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Парсер
Алексей Шестченко © (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
и поиск по резултатам.