[Perl] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    По губам бы тебе лопатой :D
     
    1 person likes this.
  2. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Ребята, приведите пожалуйста пример простого парсера,который выдирает все из <title>(.*)</title>.
    ЗЫ: С пыхой дружу, но решил переходить на многопоточность
    Заранее благодарен
     
  3. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    101
    Likes Received:
    22
    Reputations:
    5
    Code:
    #!/usr/bin/perl -w
    use locale;
    $text = "<html>asda dddddasd<title>9asdfasd asdf asd asdf asdff asdfff 111</title>sadf</html>";
    $text=~m/<title>(.*)<\/title>/ig;
    print $1;
    В переменной $1 будет все что тебя интересует.
    Чтобы не было проблем с русским языком имеет смысл включить locale
     
    #963 demond, 3 Mar 2009
    Last edited: 3 Mar 2009
    1 person likes this.
  4. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Я знаю как это на php сделать:
    PHP:
    $text=file_get_contents('http://google.com');
    preg_match('#<title>(.*)</title>#',$text,$out);
    echo 
    $out[1];
    Вот мне нужно тоже самое,только на PERL
    То есть обязательно грабить с сайта
    Я в перле не бум-бум ,извините.
    Спасибо заранее
     
    1 person likes this.
  5. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    101
    Likes Received:
    22
    Reputations:
    5
    budden, прикрепи к своему сообщению готовый файл для парсинга, чтобы мне его самому не писать. Или лучше в личку. Тебе рабочий код нужен или идея? :)
     
    2 people like this.
  6. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    101
    Likes Received:
    22
    Reputations:
    5
    Code:
    #!/usr/bin/perl
    use LWP::Simple;
    $content = get("http://www.mail.ru/");
    die "Couldn't get it!" unless defined $content;
    $content =~ m/<title>(.*?)<\/title>/img;
    print $1;
    
    Пользуйся на здоровье! :)
    Магазин ВМ
     
    #966 demond, 3 Mar 2009
    Last edited: 23 May 2013
    1 person likes this.
  7. GAVVVR

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

    Joined:
    8 Apr 2008
    Messages:
    60
    Likes Received:
    0
    Reputations:
    0
    Разобрался. :D . У меня было примерно так:
    Почему то жестко ступил и во всем скрипте вместо http://localhost/ написал localhost :D
     
  8. S0ulVortex

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

    Joined:
    18 Nov 2007
    Messages:
    161
    Likes Received:
    85
    Reputations:
    10
    Вобщем нужна помощь с учебником по perl скачал учебник называется "perel за 24 часа"
    Ну почему я выбрал именно этот и так понятно, но как оказалось не все так просто прочитал пол учебника а толку реально 0 сам мало чего могу написать максимум это представление что такое perl. Посоветуйте учебник для новичка чтобы понятно было а не как там.
     
  9. demond

    demond Member

    Joined:
    5 Nov 2008
    Messages:
    101
    Likes Received:
    22
    Reputations:
    5
    начинал с документации на citforum. А вообще много книжек у O'reilly, в том числе и для начинающих!
     
  10. TheSoul

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

    Joined:
    12 Nov 2007
    Messages:
    83
    Likes Received:
    35
    Reputations:
    0
    "Perl. Специальный справочник"
    почитай эту ...
     
  11. GAVVVR

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

    Joined:
    8 Apr 2008
    Messages:
    60
    Likes Received:
    0
    Reputations:
    0
    S0ulVortex, понравилась эта книга. Написана вроде толково. Правда, я ее еще до конца не прочел))
     
  12. S0ulVortex

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

    Joined:
    18 Nov 2007
    Messages:
    161
    Likes Received:
    85
    Reputations:
    10
    Да я уже скачал книгу "Perl. Специальный справочник" уже первые 2 части разобрал вроде более мение понятно но все же не все. Но думаю понимание будет когда прочитаю весь учебник.
     
  13. Pridu_ROCK

    Pridu_ROCK Member

    Joined:
    11 Apr 2005
    Messages:
    15
    Likes Received:
    7
    Reputations:
    0
    Понимание придет только после того как начнешь програмить =)) Чтение эт конечно хорошо, но мое предпочтение будет намного больше к практику нежели к теоретику =)) Я думаю так и у всех =)
     
  14. ph1l1ster

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

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    как заставить перл воспринять расширение .php.xl Чтобы он открывал его через LWP::UserAgent как обычное .php ??
     
  15. roddik

    roddik Member

    Joined:
    14 Jan 2009
    Messages:
    117
    Likes Received:
    13
    Reputations:
    0
    ph1l1ster, если ты открываешь через LWP::UserAgent файл на другом серваке, перлу пофигу какое у него расширение, он получает только хтмл код, то есть чтобы что-то исправить надо доступ к серваку
     
  16. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    Товарищи, привет всем!

    Есть проблема. К примеру есть список адресов вида:

    http://www.example.org/1234/text/
    http://www.example.org/1235/text/
    http://www.example.org/1236/text/
    http://www.example.org/1237/text/

    нужно его пропарсить, и сохранить вывод каждой страницы в какую-нибудь папку, чтобы было в ней типа того:

    ./any_dir/1234.txt
    ./any_dir/1235.txt
    ./any_dir/1236.txt
    ./any_dir/1237.txt

    etc

    Т.е. есть проблема. Нужно сохранять выданые веб-сервером странички. Есть решение подобной проблемы?
     
  17. TheSoul

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

    Joined:
    12 Nov 2007
    Messages:
    83
    Likes Received:
    35
    Reputations:
    0
    #!/usr/bin/perl -w

    use LWP::UserAgent;

    $browser = LWP::UserAgent -> new;
    $url = '';
    $str = 1; # с какой стр начинать
    $end = 20; # закончить
    while ($str<$end) {
    $request = $browser -> get ("$url".$str)->content;
    $dir = int(rand(1000));
    mkdir ($dir);
    open (LOG , ">./$dir/$str.html");
    print LOG $request;
    close LOG;
    $str++;
    }
     
    #977 TheSoul, 11 Mar 2009
    Last edited: 11 Mar 2009
    1 person likes this.
  18. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Что делает эта регулярка?
     
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://books.onlinekniga.ru/books/coockbook/01/8
     
  20. $p01nt

    $p01nt Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    116
    Likes Received:
    20
    Reputations:
    1
    Нужно обусифицировать perl код, есть ли обусификаторы уже готовые или может быть есть статьи на русском по этой теме?
     
Thread Status:
Not open for further replies.