нужно вытащить текст с сайта

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Worms, 15 Oct 2010.

  1. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    на сайте есть определенная рубрика с объявлениями,как можно вытащить именно объявления в текстовый документ? чем можно?
     
  2. aydar

    aydar Member

    Joined:
    12 Nov 2009
    Messages:
    259
    Likes Received:
    6
    Reputations:
    -2
    pos,delete,copy думаю хватит
     
  3. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    function Pars(T_, ForS, _T: string): string;
    var
    a, b: integer;
    begin
    Result := '';
    if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
    a := Pos(T_, ForS);
    if a = 0 then
    Exit
    else
    a := a + Length(T_);
    ForS := Copy(ForS, a, Length(ForS) - a + 1);
    b := Pos(_T, ForS);
    if b > 0 then
    Result := Copy(ForS, 1, b - 1);
    end;



    Ну а дальше что нужно парсить так.

    s:=pars('C какого текста парсим',с какой переменной парсим,'До какого текста парсим');
     
  4. 6anzay

    6anzay Member

    Joined:
    30 Nov 2009
    Messages:
    138
    Likes Received:
    28
    Reputations:
    10
    я Через yahoo pipes делал типа парсилки что-то.
    Очень прикольный сервис
     
  5. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    а вот тут чуть поподробнее можно?а то я не особо разбераюсь в програмировании. это все куда воткнуть надо?
     
  6. xhugo

    xhugo New Member

    Joined:
    25 Aug 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Worms, можно проще..

    Зайди на свой сайт, глянь исходный код страницы, смотри под какими тегами объявления..

    например
    кинь на форму memo, idhttp,button.

    и при нажатие кнопки пиши:

    var
    s:string;
    begin
    s:=idhttp1.get('http://site.ru'); ..сайт
    memo1.lines.add(Copy(s, pos('<title>', s) + 7, pos('</title>', s) - pos('<title>', s) -7)); ..выдераем
     
  7. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    а если на сайте некоторый текс такой как номер телефона находится в картинке... есть такой вариант?
     
  8. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    это вообще на каком языке все чтот вы мне рассказали? а то я читаю и аж приятно тчо есть что-то,а понять ниче не могу
     
  9. Artist

    Artist Member

    Joined:
    10 Jul 2010
    Messages:
    89
    Likes Received:
    5
    Reputations:
    0
    Это Delphi, а какой тебе надо?
     
  10. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    ща буду вникать! я вообще никакого незнаю:)
     
  11. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    исходя из этого что куда надо вставлять?
    <a href="/realty/sell/residential/secondary/detail/8817.php" target="_blank" onclick="window.open('/realty/sell/residential/secondary/detail/8817.php','details8817','location=1,status=1,scrollbars=1,width=850,height=800'); return false;">
    <b>Серова ул, д. 480</b>
    </a>
    <div class="rl_note">Ленинский р-н</div>
    <div align="right"><a href="javascript;" target="_blank" class="rl_underline_dashed_2" onclick="realty.showDetails(8817, '/realty/sell/residential/secondary/1.php'); if ( this.innerHTML == 'краткий просмотр' ) { this.innerHTML = 'закрыть просмотр' } else { this.innerHTML = 'краткий просмотр' }; return false;">краткий просмотр</a></div>
    </td>
    <td align="center" class="black">
    самого то текста все-равно нет если смотреть исходный код страницы, там идет текст и на этом тексте как бы ссылка на полное объявление, как так тут быть?
     
  12. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    "краткий просмотр" там продолжение текста,куда оно уходит и как словить это все и сделать чтобы в текстовике можно было сохранить чтобы шел текст объявления на каждой строчке без лишнего мусора
     
  13. Artist

    Artist Member

    Joined:
    10 Jul 2010
    Messages:
    89
    Likes Received:
    5
    Reputations:
    0
    Надо полный просмотр текста, чтоб его вытащить. Скинь ссылку на сайт, где надо вытащить текст.
     
  14. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    вот
    http://www.vdv-kavkaz.ru/index.php?option=com_adsmanager&page=show_category&catid=105&order=0&expand=0&Itemid=131
    нужно вытащить всю рубрику объявлений и обрати особое внимание на номера телефонов, они защищены как раз от этих нужд и переведены в png формат
     
  15. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    с картинки ты врятли вытащишь текст, только если писать свой распознователь...
     
  16. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    а вот отсюда? http://26.ru/realty/sell/residential/secondary/1.php
    тут нет такой защиты но есть как бы отдельно выведено текст объявления при нажатии на кнопку краткий просмотр.

    а вделфи я чет так и не понял куда засунуть это все надо было?
     
  17. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    Учи азы дельф.
    Потому что незная ничего ты и не сделаешь ничего :)
     
  18. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Worms, готов помочь за символическую сумму...
    ася: 615881591
     
  19. Worms

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

    Joined:
    9 May 2006
    Messages:
    95
    Likes Received:
    0
    Reputations:
    0
    я как то давно учил.... калькулятор даже сделал:)
    хорошо у меня есть парсер на perlе он работает как надо и все ъамечательно! но у меня есть сохраненные страницы этого же сайта с которго он вытаскивал инфу,как мне сделать так чтобы он с жесткого диска схавал сораненные страницы?? денвер ставил,не помогло. вот код парсера может кто поймет че можно поменять в нем? и по этому принципу можно его подправить на сайт другой?

    #!/usr/bin/perl

    use LWP::UserAgent;
    use HTTP::Cookies;
    use HTML::Entities;

    $ua = LWP::UserAgent->new;
    $ua->agent("Opera/9.25 (Windows NT 5.1; U; ru)");

    $cookie_jar = HTTP::Cookies->new();
    $ua->cookie_jar($cookie_jar);


    sub logg

    {
    my ($data, $file) = @_;
    open(OUT, ">> ".$file);
    print OUT "$data\n";
    close(OUT);
    }


    for ($i = 0; $i < 165; $i++)

    {
    my $ex = $ua->get('http://realty.1777.ru/search_real_poisk.php?ch=&ord=&poisk=&poisk2=&tabs=0&poisk5=&poisk3=&real_raz_id=&real_cat_id=35&ot=0&do=1000000000&sort=&mix=&pajina='.$i)->content();

    my @infos = $ex =~ /<td width=80% valign=top colspan=2><span class=header_red>(.+?)<noindex>/gs;

    foreach $info (@infos)
    {
    $info =~ s/&nbsp;/ /g; decode_entities($info); $info =~ s/<.+?>/ /g; $info =~ s/\s+/ /g; $info =~ s/^(.+?)\s//g;

    logg($info."\n\n", 'data.txt');
    }

    print('page '.$i."\n");
    }


    system("pause");
     
  20. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    да,такое дело в другом разделе _https://forum.antichat.ru/forum57.html