Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2011, 11:13   #1
ivannes
Пользователь
 
Аватар для ivannes
 
Регистрация: 16.06.2011
Сообщений: 42
Радость парсинг данных с bash.org.ru

как сделать парсинг цитат с башорга??
p.s.: использую библу синапс
Вложения
Тип файла: rar b.rar (213.8 Кб, 17 просмотров)
Помог? тогда жми на весы
Девушка что оператор мобильной связи, когда денег нет, то она не доступна ©Радио Маяк
ivannes вне форума Ответить с цитированием
Старый 25.08.2011, 14:24   #2
TzX
Пользователь
 
Аватар для TzX
 
Регистрация: 23.12.2009
Сообщений: 57
По умолчанию

Вот, набросал на скорую руку. Используется 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.
TzX вне форума Ответить с цитированием
Старый 26.08.2011, 04:29   #3
ivannes
Пользователь
 
Аватар для ivannes
 
Регистрация: 16.06.2011
Сообщений: 42
По умолчанию

спасибо, за парсер
Помог? тогда жми на весы
Девушка что оператор мобильной связи, когда денег нет, то она не доступна ©Радио Маяк
ivannes вне форума Ответить с цитированием
Старый 27.03.2013, 16:06   #4
sitema
Новичок
Джуниор
 
Регистрация: 27.03.2013
Сообщений: 2
По умолчанию а в итоге?

конечно врядли этот человек ещё здесь вертится, но я всё же спрошу:
ну и?... где рабочий парсер? Он многим интересен.
Выкиньте кто-нить пожалуйста... да и исходники не помешают.
Заранее всех благодарю!
sitema вне форума Ответить с цитированием
Старый 27.03.2013, 18:27   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Мой парсер баша (многое можно улучшить, но лень ).
UPD
Цитата:
добросить в архив скомпиленый экзешник
Добавил exe.
Вложения
Тип файла: rar БашОрг Downloader.rar (10.9 Кб, 31 просмотров)
Тип файла: rar БашОрг Downloader exe.rar (464.9 Кб, 23 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 27.03.2013 в 19:12.
BDA вне форума Ответить с цитированием
Старый 27.03.2013, 18:53   #6
sitema
Новичок
Джуниор
 
Регистрация: 27.03.2013
Сообщений: 2
По умолчанию

Спасибо... но можно ли вас попросить добросить в архив скомпиленый экзешник?

Большое спасибо... парсер классный, но можно ли вас попросить подправить его так, чтоб он все цитаты баша заливались в один текстовый файл, ну и разделитель между цитатами какой-нибудь было бы неплохо... допустим "- NEW -"
ну это конечно если вам не тяжело.

Последний раз редактировалось sitema; 28.03.2013 в 17:54.
sitema вне форума Ответить с цитированием
Старый 29.03.2013, 20:52   #7
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

sitema, этот тот случай, когда лучше написать новое сообщение (случайно зашел в тему).
Вложения
Тип файла: rar БашОрг Downloader 2.rar (474.6 Кб, 38 просмотров)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RegExpr - как составить выражение для содержимого с Bash.org Alter Компоненты Delphi 12 20.03.2012 01:36
Парсинг данных из Stringlist Lauri Общие вопросы Delphi 5 21.04.2011 20:22
Парсинг данных Shouldercannon Общие вопросы Delphi 2 09.07.2010 13:14
Парсинг полученных данных Shouldercannon Общие вопросы Delphi 11 09.01.2010 21:47
Парсим bash.org.ru Merkator Работа с сетью в Delphi 1 21.04.2009 21:21