Как сделать парсер ссылок?

Discussion in 'Болталка' started by nick777, 6 May 2011.

  1. nick777

    nick777 New Member

    Joined:
    8 Oct 2010
    Messages:
    21
    Likes Received:
    4
    Reputations:
    1
    Как сделать парсер ссылок.
    Т.е. я хочу, чтобы парсер парсил часть ссылки со страницы http://tralalal.ru/bla, которые начинаются на http://qwerty.ru/т_е_эту_часть
    Если у кого-то есть или кто-то может написать, то обязательно отблагодарю!
     
  2. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Если парсить немного надо то любой редактор с поддержкой регулярок и вперед.
     
  3. nick777

    nick777 New Member

    Joined:
    8 Oct 2010
    Messages:
    21
    Likes Received:
    4
    Reputations:
    1
    Парсить по ~100 частиц надо с 1 страницы
     
  4. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    487
    Likes Received:
    184
    Reputations:
    5
    Меня поражают такие темы...
    Как сделать... как сделать....
    Ответ: Каком к верху...
    Изучив программирование
     
  5. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Code:
    s:=IdHTTP1.Get('http://tralalal.ru/bla');
    memo1.Lines.Add(Copy(s,Pos('http://qwerty.ru',s)+17,Pos('[B][COLOR=White]</a>[/COLOR][/B]',s)-pos('http://qwerty.ru', s) -17));
    Вместо </a> ставишь тэг, который идёт сразу после "т_е_эту_часть".
    Пример конешн - фуфло, но основа есть. Подкури мануалов, и всё придёт ;)
     
  6. Klubni4ka

    Klubni4ka New Member

    Joined:
    10 Mar 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    Может ты тут самый продвинутый кодер? - Тогда нахрен ты зашел в данный раздел постебаться с тех кто хочет научиться?

    От себя добавлю - меня поражают такие личности которые серут по разным темам ради того чтобы набить себе сообщения, либо ради того чтобы попетушиться...


    По теме Решил вопрос
     
  7. nick777

    nick777 New Member

    Joined:
    8 Oct 2010
    Messages:
    21
    Likes Received:
    4
    Reputations:
    1
    Большое спасибо.
    Получился такой код:

    Code:
    function Parse(const tag1, tag2, source: string): TStrings;
    var
     p, p2, len: Integer;
    begin
     tag1 := где начать парсить
     tag2 := где закончить парсить
     source := откуда парсить
     Result := nil;
     p := Pos(tag1, source);
     len := Length(tag1);
     p2 := PosEx(tag2, source, p + len + 1);
     if (p = 0) or (p2 = 0) then
        Exit;
     Result := TStringList.Create;
     while (p > 0) and (p2 > 0) do
      begin
         if p2 > p then
           Result.Add(Copy(source, p + len, p2 - p - len));
         p := PosEx(tag1, source, p2);
         p2 := PosEx(tag2, source, p + len + 1);
      end;
    end;
    При этом парсится только 1 значение, хотя их на странице 100...
    В чем ошибка?
     
  8. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Получился у кого? :D
    Юзай отладчик, я проверял на парсинге ссылок на странице - находило все. Там откуда ты этот код взял и пример вызова был.

    Или пример страницы и граничных значений в студию - я стараюсь поддерживать свой код :D
     
    #8 GhostOnline, 8 May 2011
    Last edited: 8 May 2011
  9. Jerri

    Jerri Elder - Старейшина

    Joined:
    12 Jul 2009
    Messages:
    136
    Likes Received:
    377
    Reputations:
    22
    Ты нас за слепых считаешь?
     
  10. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Все банально - я уже забываю дельфи
    Ну а так, он вполне работал у меня