Delphi - Парсинг
|
![]() Новый участник Сообщения: 40 |
Здравствуйте уважаемые программисты.
Программированием увлекаться начал не так давно,пришла пора.. И мне понадобилась работа с интернетом. 1) Был в поиске,нашел пример того что мне нужно. var s : string; begin s := IdHTTP.Get('http://delphistudio.ru/'); Label1.Caption := Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7); + 7 -7 На сайте есть такой код: <a href='/uinfo/?uid=38014' class='link' title = 'Смотреть анкету персонажа ivrus'>ivrus</a> Подскажите пожалуйста как мне скопировать "/uinfo/?uid=38014" - ? И еще,если кому нибудь из вас не трудно оставьте свою аську для пары вопросов. Или может кто нибудь мне литературу какую нибудь посоветует.. (Сам искал,не нашел не чего подходящего.) За ранее вам благодарен. |
|
Отправлено: 04:50, 27-09-2010 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Miko, такое ощущение, что строка Label1.Caption не верна. Толи кавычек не хватает, толи чего.
Какой должен быть результат выполнения? Цитата Miko:
|
|
------- Отправлено: 09:26, 27-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать Нет с Label все нормально. Данный пример работает отлично.
Цифры это ID пользователя. Тут дело в том что: Нужно посмотреть имя пользователя и скопировать "/uinfo/?uid=38014" - Если точней то.. <a href='/uinfo/?uid=38014' class='link' title = 'Смотреть анкету персонажа ivrus'>ivrus</a> В конце слово "IVRUS" - Это ник пользователя. (Его то мы и будем искать.) '/uinfo/?uid=38014' - Цифры это ID пользователя. (Они то нам и нужны.) Пользователь вводит в Edit ник.. жмет кнопку. После этого ему в Label или еще куда нибудь выподает '/uinfo/?uid=38014' ну или просто цифры. Вот мне бы понять как скопировать,пример выше есть.. а как с ним работать я не знаю. Только начал работать с интернетом,я вообще в Delphi не так давно. Во и хотелось бы услышать ответ о примере,что к чему там работает. (Автору примера писал,он игнорит.) Вам конечно огромное спасибо за ответ,но.. я не знаю как сделать это анализ. Иначе я бы не стал спрашивать как мне достать эту строку. Хотя бы подскажите что читать где искать,остальное я сам сделаю. // Все,понял что и как работает.. Проблему решил. Спасибо за помощь. |
------- Последний раз редактировалось Miko, 27-09-2010 в 09:50. Отправлено: 09:37, 27-09-2010 | #3 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Miko, результат работы строки Label1.Caption приведи пожалуйста.
Для понимания, желательно его еще и протрассировать (выполнить по шагам, клавиша F7 емнип) Окно отслеживания изменения переменных - Watches. Во меню отладки должно быть. string если я правильно помню, вмещает в себя 255 символов. Ты уверен, что " <a href='/uinfo/?uid=38014' class='link' title = 'Смотреть анкету персонажа ivrus'>ivrus</a> " туда влезет? Попробуй может загрузить страничку в Memo (компонент). Посмотри в справке, что тебе возвращают функции pos, copy. Посмотри работу с циклами с условием repeat until, while Цитата Miko:
|
|
------- Отправлено: 09:56, 27-09-2010 | #4 |
![]() Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать Я не копировал весь текст..
Просто понял что означают цифры: Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7); В итоге я копирую тот текст который мне нужно. А с остальным я уже разберусь. Я вот сейчас протестировал и опять косяк.. Строка: Label1.Caption := Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7); Находиться в середине всего кода,вот как ее найти я уже не знаю. А так,основное что мне нужно было я сделал. // Как я уже и говорил я не очень то селен в Delphi... По этому нормально обьяснить не могу... |
|
------- Отправлено: 10:09, 27-09-2010 | #5 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Что же за молодежь такая пошла?
Miko, Цитата lxa85:
Трассировку программы выполнял? Label.Caprtion имеет тип text и мне очень интересно знать, как он реагирует на +7 Цитата Miko:
![]() |
||
------- Отправлено: 10:17, 27-09-2010 | #6 |
![]() Новый участник Сообщения: 40
|
Профиль | Отправить PM | Цитировать Увы.. работает.
На +7 не ругается. Кстати,для примера.. скачайте себе Lite версию DELPHI и просто скопируйте код который представлен в первом посту. И вы сами убедитесь что все прекрасно работает. Потом зайдите на сайт(Он тоже указан в первом посте.) и посмотрите первый тег.. там будет написано тоже самое что и в Label. Увы,но она работает. Как я уже и говорил,я не знаю как указать нужную мне строку. Определенный текст копировать могу.. Вот только не задача,копирует он почти весь код на сайте. Потому что не указана строка. А в примере он копирует первую строку... и все работает на УРА. Уважаемый "lxa85" не могли бы вы мне дать вашу ICQ - ? |
------- Отправлено: 10:25, 27-09-2010 | #7 |
Необычный Сообщения: 4463
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Miko:
Lite себе сейчас скачивать не буду. Пока некогда с ним возиться. |
|
------- Отправлено: 10:46, 27-09-2010 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Парсинг PR | venuko | Вебмастеру | 3 | 13-01-2010 14:15 | |
[решено] Парсинг php файла | Shym | Вебмастеру | 2 | 15-11-2009 02:30 | |
C/C++ - [решено] строковой парсинг | Surround | Программирование и базы данных | 2 | 17-03-2008 16:51 |
|