Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
4th
Сен
Как сделать парсинг цитат с башорга?
Posted by Chas under Delphi, Пост-обзор
TzX
Вот, набросал на скорую руку. Используется Indy.
На форме Memo, Button, IdHTTP
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
IdHTTP1: TIdHTTP;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
Function podstr(str, pod: string): integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
i:integer;
begin
s:=idhttp1.Get('http://bash.org.ru'); //Грузим код страницы
for i:=1 to podstr(s,'утверждена') do //Определяем количество цитат на странице
Begin
delete(S,1,pos('утверждена',s)); delete(S,1,pos('</div>',S)+5); //Удаляем мусор до нужной цитаты
memo1.Lines.Add(copy(S,pos('<div>',S)+5,pos('</div>',S)-pos('<div>',S)-5)); //Сам парсинг и вывод
memo1.Lines.Add('');
End;
end;
function TForm1.podstr(str, pod: string): integer; //Возваращает число вхождений подстроки в строку
var
i,ln:integer;
begin
i:=0;
ln:=length(pod);
while (pos(pod,str)>0) do
begin
inc(i);
delete(str,pos(pod,str),ln);
end;
result:=i;
end;
end.
Пост написан при поддержке информационного сайта — Предприятия, Товары, Услуги России : ALL.BIZ: Россия, бытовая техника в Российской Федерации и не только.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)