Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
1

Спарсить название темы с форума

22.01.2012, 18:00. Просмотров 1660. Ответов 28
Метки нет (Все метки)

Подскажите пож. в чем ошибка?
Пытаюсь спарсить название темы с форума.
Delphi
1
2
3
4
5
var st: string;
begin
st:=idhttp1.Get('http://exclusive.fatbb.ru/viewforum.php?f=24');
Form1.edit2.Text:=copy(st,pos('<a class="topictitle" href="./viewtopic.php?f=24&amp;t=49">',st)+7, pos('<br/>',st)-pos('<a class="topictitle" href="./viewtopic.php?f=24&amp;t=49">',st)-7);
end;

но почему то не парсит,просто пустой эдит. В чем ошибка?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2012, 18:00
Ответы с готовыми решениями:

Спарсить регуляркой
Помогите спарсить регуляркой слово sa-mp-442.png между тегом &lt;a&gt; &lt;/a&gt; &lt;a...

Спарсить предложение
Имеется кусок кода: &lt;div id=&quot;text_history&quot; class=&quot;fliess10px-white...

как спарсить?
Как спарсить в ответе от сервера слово с символом '? '

Как спарсить?
Всем привет) есть такой код на сайте &lt;option value=&quot;&quot;&gt;year&lt;/option&gt; ...

Спарсить текст
Добрый день, уважаемые форумчане. Не могу разобраться, как вытащить информацию...

28
g101k
35 / 15 / 11
Регистрация: 19.11.2011
Сообщений: 45
22.01.2012, 19:34 2
Нет вхождений этой строки
Код
<a class="topictitle" href="./viewtopic.php?f=24&amp;t=49">
0
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
22.01.2012, 20:12  [ТС] 3
и что теперь делать?
0
БогДелфей
423 / 331 / 36
Регистрация: 31.05.2011
Сообщений: 1,156
22.01.2012, 20:19 4
забить
0
kwinto
55 / 83 / 24
Регистрация: 27.02.2010
Сообщений: 397
22.01.2012, 22:23 5
Цитата Сообщение от scroyler Посмотреть сообщение
и что теперь делать?
Вы написали какую-то ерунду в коде и спрашиваете что Вам делать...
Ну, откройте хотя бы Вашу страничку в любом текстовом редаторе (блокноту все возрасты покорны) и тупо поищите сначала его средствами.
0
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 13:58  [ТС] 6
Дайте код рабочего парсера пожалуйста
0
Arcor
5070 / 1943 / 412
Регистрация: 20.11.2009
Сообщений: 6,378
Записей в блоге: 1
25.01.2012, 14:02 7
Цитата Сообщение от scroyler Посмотреть сообщение
Подскажите пож. в чем ошибка?
но почему то не парсит,просто пустой эдит. В чем ошибка?
дай остальной кусок текста в котором надо искать, а то что в этих каракулях можно нам найти, не зная что там вокруг твориться
0
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 14:51  [ТС] 8
форум http://exclusive.fatbb.ru/viewforum.php?f=24
кусок
Код
<a class="topictitle" href="./viewtopic.php?f=24&amp;t=49&amp;sid=422950441a664765c849636e5eaa48a6">проверка</a>
					<br/>
отсюда нужно выдрать слово проверка
0
Arcor
5070 / 1943 / 412
Регистрация: 20.11.2009
Сообщений: 6,378
Записей в блоге: 1
25.01.2012, 19:02 9
ну ставь указатель функции Pos на слово "проверка" и копируй до первого значка "<", вот и скопируешь что нужно

Добавлено через 4 минуты
сайт не грузится, наверно ты его уже замучал запросами )) вот спарсил тебе слово из строки

Delphi
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
var S: String;
begin
  S := '<a class="topictitle" href="./viewtopic.php?f=24&amp;t=49&amp;sid=422950441a664765c849636e5eaa48a6">проверка</a><br/>';
  S := Copy(S, Pos('проверка', S), Pos('</a', S) - Pos('проверка', S));
  Caption := S;
end;

только смысл от того, что копировать зная заранее что, не легче так передать программе??
0
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 20:02  [ТС] 10
Спасибо. но мне нужно что бы слово которое между тэгами выводилось в едит. а ты тут его указываешь. как это сделать?
0
NIch
400 / 311 / 74
Регистрация: 17.03.2010
Сообщений: 1,120
25.01.2012, 20:19 11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);
var 
  S: String;
begin
  S := '<a class="topictitle" href="./viewtopic.php?f=24&amp;t=49&amp;sid=422950441a664765c849636e5eaa48a6"> + Edit1.Text + </a><br/>';
  S := Copy(S, Pos(Edit1.Text, S), Pos('</a', S) - Pos(Edit1.Text, S));
  Caption := S;
end;
Как то так, хотя могу и ошибаться.
1
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 20:34  [ТС] 12
ты тут просто копируешь со строи слово,а не парсишь!
0
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 20:37  [ТС] 13
вот так надо.

Парсер:'site';
что то... 'начало тэга','конец тэга';
чтото.текст:=слово между тэгами
0
Arcor
5070 / 1943 / 412
Регистрация: 20.11.2009
Сообщений: 6,378
Записей в блоге: 1
25.01.2012, 20:40 14
Цитата Сообщение от scroyler Посмотреть сообщение
ты тут просто копируешь со строи слово,а не парсишь!
ну ты же не можешь толком объяснит что ты хочешь.. а парсить это не копировать? в моем понимании это вырезать нужно из чего-то, по определенному закону. как ты задал задачу скопировать тебе одно слово, что я и сделал
1
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 20:44  [ТС] 15
Ок)ща разжую))
Вот есть ссылка на форум.Мне нужно что бы с этого форума скопировался текст который находится между указаными тегами.
Например ссылка на форум.
и пишу скопировать текст между тегами ТЭГ1 и ТЭГ2 мне вывдит в эдит текст ,который и находится между тэгами)
0
Arcor
5070 / 1943 / 412
Регистрация: 20.11.2009
Сообщений: 6,378
Записей в блоге: 1
25.01.2012, 20:50 16
а если таких тегов много, что тогда? например <td> или <br> очень часто и очень много встречается?
1
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 20:54  [ТС] 17
да это мелочь у меня специфичиские тэги)
0
Arcor
5070 / 1943 / 412
Регистрация: 20.11.2009
Сообщений: 6,378
Записей в блоге: 1
25.01.2012, 21:10 18
ну и где же они?

Добавлено через 10 минут
ну вот так, теги сам задавай себе между которыми вырезать, например их можешь в эдит вписывать

Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Button1Click(Sender: TObject);
var TagBegin, TagEnd: String;
    S, Res: String;
begin
  TagBegin := '<beg>'; // тег открывающий
  TagEnd := '<end>';   // тег закрывающий
  S := 'dgfhwetrwt' + TagBegin + 'privet' + TagEnd + 'Г¶#l.sdfrewertret';  // текст для проверки
  Res := Copy(S, Pos(TagBegin, S) + Length(TagBegin), Pos(TagEnd, S) - Pos(TagBegin, S)-Length(TagEnd));  // реализация "выреза" значения между тегами указанными выше
 
  ShowMessage(Res); // вывод результата
end;
естественно твоя строка будет выглядеть вот так вот
Код
'dgfhwetrwt<beg>privet<end>ö#l.sdfrewertret';
1
scroyler
14 / 14 / 1
Регистрация: 01.08.2011
Сообщений: 332
25.01.2012, 21:15  [ТС] 19
первый тэг class="topictitle">
второй </a>

Добавлено через 1 минуту
Arcor

непонял,нету ссылки на сайт) выводит слово привет,мне надо что бы с сайта

Добавлено через 2 минуты
понял) но надо что бы не просто так,а именно с сайта)
0
Arcor
5070 / 1943 / 412
Регистрация: 20.11.2009
Сообщений: 6,378
Записей в блоге: 1
25.01.2012, 21:16 20
ну скачивай с сайта строку, какая разница??? и теги поменяй на свои которые тебе нужны в использовании, это всего лишь шаблон
1
25.01.2012, 21:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2012, 21:16

Спарсить нужное значение
Здравствуйте уважаемые форумчане. Помогите спарсить нужное значение. ...

Спарсить текст с задержкой
Вот есть сайт для проверки или оценки стоимости сайтов, форумов. Приходится...

Как спарсить токен
Как правильно спарсить токен в делфи? Пробовал так HTTP.Headers.Clear;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru