линки сделать в столбик

Discussion in 'Болталка' started by AlonDelon, 21 Sep 2011.

  1. AlonDelon

    AlonDelon Member

    Joined:
    12 Nov 2010
    Messages:
    322
    Likes Received:
    18
    Reputations:
    -3
    напарсил ссылок, они в блокноте все подряд идут (в куче)
    из за этого прога не видит урлы, а разпознаёт как один.

    в нотепаде ++ нормально в столбик. копировал с нотепада в блокнот, бесполезно.

    как заменить, исправить, чтобы в столбик все были?

    п.с. Skofield твоим скриптом парсил.
     
  2. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    скорее всего из-за косяков символа переноса строки :)
     
  3. AlonDelon

    AlonDelon Member

    Joined:
    12 Nov 2010
    Messages:
    322
    Likes Received:
    18
    Reputations:
    -3
    в скрипте?
     
  4. PROjEKT

    PROjEKT Banned

    Joined:
    22 Jun 2011
    Messages:
    4
    Likes Received:
    3
    Reputations:
    5
    sed -e "s/ /\n/g" 1.txt > 11.txt

    Это если текст в неформатированном текстовом файле.
     
  5. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    937
    Likes Received:
    355
    Reputations:
    58
    Хм...
    В скрипте ничего не менял? Должно записывать в столбик.
    Попробуй так:
    PHP:
    <?php
    // Google 
    set_time_limit(0); 
    $key urlencode('some query'); // Запрос 
    $fp fopen('links.txt''wb');
    for (
    $i 0$i<=10$i += 10// Номера страниц. Так как гугл чередует номера страниц следующим образом: страница 1 - 0, стр. 2 - 10, стр. 3 - 20 и т.д., то выражение $i<=500 означает поиск ссылок до стр. 51. 

        
    $google file_get_contents("http://www.google.com/search?q=$key&start=$i"); 
        
    preg_match_all('#<h3 class="r"><a href="(.*?)".*?</a></h3>#'$google$links); 
        foreach (
    $links[1] as $link
        {
            echo 
    $link."<br>\n"
            
    fwrite($fp$link."\n"); 
        }
        
    flush(); 
        
    ob_flush(); 
        
    sleep(5); // Задержка (5 сек.) 
    }
    fclose($fp); 
    ?>
    Добавил вывод в браузер.
     
    #5 Skofield, 21 Sep 2011
    Last edited: 21 Sep 2011
  6. AlonDelon

    AlonDelon Member

    Joined:
    12 Nov 2010
    Messages:
    322
    Likes Received:
    18
    Reputations:
    -3
    Skofield нет, не менял, так тоже самое.

    с браузера всё ОК, вставляется!!! СПС!
     
    #6 AlonDelon, 21 Sep 2011
    Last edited: 21 Sep 2011
  7. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    937
    Likes Received:
    355
    Reputations:
    58
    Что-то не пойму почему не вставляет в файл у тебя перенос строки!!
    А если вот так:
    PHP:
    <?php
    // Google 
    set_time_limit(0); 
    $key urlencode('some query'); // Запрос
    $pagesNum 5// Количество страниц для парсинга
    $fname "links.txt";
    $fp fopen($fname'wb');
    for (
    $i 0$i<=($pagesNum-1)*10$i += 10)

        
    $google file_get_contents("http://www.google.com/search?q=$key&start=$i"); 
        
    preg_match_all('#<h3 class="r"><a href="(.*?)".*?</a></h3>#'$google$links); 
        foreach (
    $links[1] as $link
        {
            echo 
    $link."<br>\n";
            
    fwrite($fp$link."\n"); 
        }
        
    flush(); 
        
    ob_flush(); 
        
    sleep(5); // Задержка (5 сек.) 
    }
    fclose($fp);
    $file file_get_contents($fname);
    file_put_contents($fnametrim(preg_replace("#http(|s)://#""\n$0"$file)));
    ?>
    После парсинга должно вставить в файле переносы строки перед http
     
    #7 Skofield, 21 Sep 2011
    Last edited: 21 Sep 2011
  8. AlonDelon

    AlonDelon Member

    Joined:
    12 Nov 2010
    Messages:
    322
    Likes Received:
    18
    Reputations:
    -3
    я хз почему, но и так тоже не робит, именно в блокноте который по дефолту в винде.
    ссылки в таком виде:
    [​IMG]

    ладно, с выводом в браузер всё отлично стало!
     
  9. immortalist

    immortalist Member

    Joined:
    16 Jan 2010
    Messages:
    99
    Likes Received:
    64
    Reputations:
    37
    В винде символ переноса строки не \n а \r\n