[Ищу] Собрать тайтлы с группы урлов

Тема в разделе "SEO Скрипты", создана пользователем Maxiduk, 22 мар 2011.

  1. Maxiduk

    Maxiduk Постоялец

    Регистр.:
    30 ноя 2007
    Сообщения:
    126
    Симпатии:
    12
    Чем?
    То есть на входе - допустим 1К урлов с различных сайтов, нужно собрать их тайтлы, то есть то, что находится <title>вот тут</title>
     
  2. alexreva

    alexreva Постоялец

    Регистр.:
    24 янв 2009
    Сообщения:
    54
    Симпатии:
    4
    Content Downloader - поидее справиться, я раньше использовал скрипт для создания карты сайта о как раз тайтл делает анкором ссылки (далее
    notepad++ чистишь от мусора и готово)
     
  3. kactetus

    kactetus митя is here )

    Регистр.:
    26 авг 2007
    Сообщения:
    441
    Симпатии:
    278
    Если надо, могу выложить многопоточный на php,
    В urls.txt ложиш список файлов, на выходе в urls_title.txt каждый title с новой строки.
     
    Maxiduk нравится это.
  4. Maxiduk

    Maxiduk Постоялец

    Регистр.:
    30 ноя 2007
    Сообщения:
    126
    Симпатии:
    12
    Было бы отлично :)
     
  5. bertolai

    bertolai

    Регистр.:
    21 янв 2008
    Сообщения:
    157
    Симпатии:
    56
    в alsubmittere в "базе каталогов" есть функция "определить параметры сайтов", среди них - определить название сайтов, тег <title>. 100 потоков максимум, есть задержка.
     
  6. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.036
    Симпатии:
    699
    примерно так
    PHP:
    <?php
    define
    ('LOWERCASE',3);
    define('UPPERCASE',1);
    function 
    detect_cyr_charset($str) {
        
    $charsets = Array(
                          
    'k' => 0,
                          
    'w' => 0,
                          
    'd' => 0,
                          
    'i' => 0,
                          
    'm' => 0
                          
    );
        for ( 
    $i 0$length strlen($str); $i $length$i++ ) {
            
    $char ord($str[$i]);
            
    //non-russian characters
            
    if ($char 128 || $char 256) continue;
            
            
    //CP866
            
    if (($char 159 && $char 176) || ($char 223 && $char 242)) 
                
    $charsets['cp866']+=LOWERCASE;
            if ((
    $char 127 && $char 160)) $charsets['cp866']+=UPPERCASE;
            
            
    //KOI8-R
            
    if (($char 191 && $char 223)) $charsets['Koi8-R']+=LOWERCASE;
            if ((
    $char 222 && $char 256)) $charsets['Koi8-R']+=UPPERCASE;
            
            
    //WIN-1251
            
    if ($char 223 && $char 256$charsets['Win-1251']+=LOWERCASE;
            if (
    $char 191 && $char 224$charsets['Win-1251']+=UPPERCASE;
            
            
    //MAC
            
    if ($char 221 && $char 255$charsets['Mac']+=LOWERCASE;
            if (
    $char 127 && $char 160$charsets['Mac']+=UPPERCASE;
            
            
    //ISO-8859-5
            
    if ($char 207 && $char 240$charsets['UTF-8']+=LOWERCASE;
            if (
    $char 175 && $char 208$charsets['UTF-8']+=UPPERCASE;
            
        }
        
    arsort($charsets);
        return 
    key($charsets);
    }
    function 
    Win2UTF8($string
    {
    $len strlen($string);
    $c208 chr(208);
    $c209 chr(209);

    for (
    $i 0$i $len$i++)
    {
    if (
    $string[$i] != "\n") {
    $c ord($string[$i]);
    if (
    $c <= 127$t .= chr($c);
    elseif (
    $c >= 192 && $c <= 207$t .= $c208.chr($c 48);
    elseif (
    $c >= 208 && $c <= 239$t .= $c208.chr($c 48);
    elseif (
    $c >= 240 && $c <= 255$t .= $c209.chr($c 112);
    elseif (
    $c == 184$t .= $c209.chr(145); // ё
    elseif ($c == 168$t .= $c208.chr(129); // Ё
    else $t .= chr($c);
    }
    else 
    $t .= "";
    }
    return 
    $t;
    }
    function 
    ip_valid_1($val=''
    {
     
    $d explode('.',$val);
     for (
    $x=0$x<4$x++) if (!is_numeric($d[$x])) return false;
     return 
    true;
    }
    function 
    defconvert_win2utf($string)
    {
    if (
    detect_cyr_charset($string) == 'Win-1251')
    {
    // Function for conver Windows (CP1251) to UTF-8
    return Win2UTF8($string);
    }
    else
    {
    return 
    $string;
    }
    }
    function 
    get_web_page$url )
    {
      
    $uagent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8";

      
    $ch curl_init$url );

      
    curl_setopt($chCURLOPT_RETURNTRANSFER1);  // возвращает веб-страницу
      
    curl_setopt($chCURLOPT_REFERER,"http://google.com");
      
    curl_setopt($chCURLOPT_HEADER0);           // не возвращает заголовки
      
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);   // переходит по редиректам
      
    curl_setopt($chCURLOPT_ENCODING"");        // обрабатывает все кодировки
      
    curl_setopt($chCURLOPT_USERAGENT$uagent);  // useragent
      
    curl_setopt($chCURLOPT_CONNECTTIMEOUT120); // таймаут соединения
      
    curl_setopt($chCURLOPT_TIMEOUT120);        // таймаут ответа
      
    curl_setopt($chCURLOPT_MAXREDIRS10);       // останавливаться после 10-ого редиректа

      
    $content curl_exec$ch );
      
    $err     curl_errno$ch );
      
    $errmsg  curl_error$ch );
      
    $header  curl_getinfo$ch );
      
    curl_close$ch );

      
    $header['errno']   = $err;
      
    $header['errmsg']  = $errmsg;
      
    $header['content'] = $content;
      return 
    $header;
    }

    $file=file("urls.txt");
    $fp=fopen("title.txt","w");
    $count_str=count($file);
    for (
    $i=0;$i<$count_str;$i++){
    $result=get_web_page$file[$i] );
    //print_r($result);
    $content $result['content'];
    preg_match('/<title>(.*?)<\/title>/si',$content,$xtitle);

    $title=iconv('utf-8','windows-1251',defconvert_win2utf(htmlspecialchars($xtitle[1])));


    $title_url $title.";".trim($file[$i]);
    fwrite($fp,$title_url."\n");
    }
    fclose($fp);
    ?>
     
    Maxiduk нравится это.
  7. xumukys

    xumukys

    Регистр.:
    16 ноя 2008
    Сообщения:
    495
    Симпатии:
    90
    Апну тему, нет ли у кого паука для сбора title со страниц:
    Чтобы на входе урл главной страницы, на выходе давал все ссылки с сайта + тайтлы к страницам?
     
  8. Красавчег

    Красавчег Завсегдатай

    Регистр.:
    15 мар 2010
    Сообщения:
    902
    Симпатии:
    298
    Можно использовать тот же Content Downloader или (как бесплатный вариант) подойдёт:

    http://www.wonderwebware.com/sitemap-generator/
     
    xumukys нравится это.
  9. xumukys

    xumukys

    Регистр.:
    16 ноя 2008
    Сообщения:
    495
    Симпатии:
    90
    http://www.wonderwebware.com/sitemap-generator/
    Идеальный вариант для моей задачи, она у меня давно была установлена, но я как-то подзабыл что она и хтмл карту создает), раньше только для создания xml карт для гугла использовал...
     
  10. xd997

    xd997 Писатель

    Регистр.:
    24 ноя 2008
    Сообщения:
    149
    Симпатии:
    61
    http://apocx.ru/baza-softa/
    STGrabber