Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Парсинг

Ответить
Настройки темы
Delphi - Парсинг

Аватара для Miko

Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


Здравствуйте уважаемые программисты.

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

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

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Miko, такое ощущение, что строка Label1.Caption не верна. Толи кавычек не хватает, толи чего.
Какой должен быть результат выполнения?
Цитата Miko:
Подскажите пожалуйста как мне скопировать "/uinfo/?uid=38014" - ? »
Находишь "/uinfo/?uid=" Далее по символьный анализ до достижения не цифрового символа.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 09:26, 27-09-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Miko

Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить 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


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить 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:
Все,понял что и как работает.. Проблему решил.
Спасибо за помощь. »
Расскажи как, интересно же.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:56, 27-09-2010 | #4


Аватара для Miko

Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить 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


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Что же за молодежь такая пошла?
Miko,
Цитата lxa85:
результат работы строки Label1.Caption приведи пожалуйста. »
А еще лучше весь код целиком, тегом code (#) оформленный.
Трассировку программы выполнял?
Label.Caprtion имеет тип text и мне очень интересно знать, как он реагирует на +7
Цитата Miko:
А так,основное что мне нужно было я сделал. »
Ага, сделал все кроме главного Программа то не работает.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:17, 27-09-2010 | #6


Аватара для Miko

Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


Увы.. работает.

На +7 не ругается. Кстати,для примера.. скачайте себе Lite версию DELPHI и просто скопируйте код который представлен в первом посту. И вы сами убедитесь что все прекрасно работает. Потом зайдите на сайт(Он тоже указан в первом посте.) и посмотрите первый тег.. там будет написано тоже самое что и в Label.

Увы,но она работает. Как я уже и говорил,я не знаю как указать нужную мне строку. Определенный текст копировать могу.. Вот только не задача,копирует он почти весь код на сайте. Потому что не указана строка.
А в примере он копирует первую строку... и все работает на УРА.

Уважаемый "lxa85" не могли бы вы мне дать вашу ICQ - ?

-------
Кругом обман - уйду в туман.


Отправлено: 10:25, 27-09-2010 | #7


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Цитата Miko:
Уважаемый "lxa85" не могли бы вы мне дать вашу ICQ - ? »
см профиль. У меня авторизация, для начала пиши транслитом.
Lite себе сейчас скачивать не буду. Пока некогда с ним возиться.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:46, 27-09-2010 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Парсинг

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Парсинг 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




 
Переход