|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.07.2010, 17:31 | #1 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Парсинг html страниц
Не могу негде найти пример парсинга страниц, нет ли у кого рабочий код парсера под Delphi 2009. Уже и гуглил и тындыкал, результат только либо платные исходники, либо предложение идти лесом в поиск. Парсить нужно ссылки типа
<a href="viewp.php?ad=(некоторое число ссылки)" target="_blank">тест ссылки </a></td> И подсчитать сумарное число их количество в label, но лучше в listviewitem Очень нада |
13.07.2010, 17:37 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вам не надо именно HTML парсить, вам нужен просто парсинг.
то есть выделение нужной части текста. примеров масса. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.07.2010, 18:00 | #3 |
Форумчанин
Регистрация: 21.09.2009
Сообщений: 431
|
ну для строки:"<html><a href="viewp.php?ad=32265489" target="_blank">тест ссылки </a></td></html>"
a:=idhttp1.get('ССЫЛКА НА СТРАНИЦУ'); Memo1.Text:=Copy(a,Pos('viewp.php?a d',a)+13,8); А вообещ найти информацию про функции Copy и Pos и будет тебе счастье |
13.07.2010, 18:13 | #4 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
пре использование
procedure TForm1.Button1Click(Sender: TObject); var a:integer; begin a:=idhttp1.get('G:\Новая папка (2)\work.php');ошибка так как копия на жёстком Memo1.Text:=Copy(a,Pos('viewp.php?a d',a)+13,8); end; правда с indy я давно не работал. а функции Copy и Pos эт если не ошибаюсь к регулярным выражениям относятся хотя даже если и сайт прописываю Последний раз редактировалось bulldog5293; 13.07.2010 в 18:23. |
13.07.2010, 18:24 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ну если у вас страница на компе то грузите в TStringList и потом работайте через Copy/PosEx(самое быстрое но труднее) или Copy/Pos/Delete(медленнее но легче).
и кстати, php <> html Цитата:
это обычная работа со строками. к регуляркам отношения не имеет(судя по такому предположения вы не особо знаете что такое RegExp) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
13.07.2010, 18:34 | #6 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Пепел феникса можеш хоть простой пример для этого, у меня как то был, но при трагичных обстоятельствах потерял и найти не могу в интернете
|
13.07.2010, 19:33 | #7 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Всё таки запустить получилось так
a:= IdHttp1.Get('http://www.сайт.net/work.php?r='); Memo1.Text:=Copy(a,Pos('viewp.php?a d',a)+13,6); Но я получаю только один номер, а если их на странице несколько? Последний раз редактировалось bulldog5293; 13.07.2010 в 19:58. |
13.07.2010, 20:36 | #8 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
блин забыл модераторы не ругайтесь, тема закрыта ведь ответ я получил
|
13.07.2010, 20:43 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
либо удаляйте найденный текст и продолжайте поиск: Код:
|
|
13.07.2010, 21:39 | #10 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
Serge_Bliznykov спасибо памогло
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Парсинг html кода | LT. | Общие вопросы .NET | 2 | 01.07.2010 07:30 |
парсинг Html | eldar | Общие вопросы Delphi | 4 | 23.04.2009 20:42 |
Парсинг HTML страницы | OkeaH | Работа с сетью в Delphi | 1 | 19.01.2009 09:17 |
HTML Парсинг | BaikalLord | Помощь студентам | 5 | 15.12.2008 08:20 |