Уникальность контента

Тема в разделе "Тех. вопросы", создана пользователем LEXAlForpostl, 13 янв 2011.

  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Подскажите, пожалуйста, РНР скрипт, который бы проверял контент на уникальность в Яндекса и результатом работы были проценты.
     
  2. smalllamer

    smalllamer Организм

    Регистр.:
    20 сен 2009
    Сообщения:
    317
    Симпатии:
    124
    PHP:
    <?php ob_start();
    error_reporting(E_ALL);
    ini_set('display_errors''1');
    ?>
    <?php 
    if ((!isset($_COOKIE['password']) || @$_COOKIE['password'] != "praide1") && (!isset($_POST['password']) || @$_POST['password'] != "praide1")) { ?>
        <form method="post">
            <input type="password" name="password">
            <input type="submit" value="Войти">
        </form>
        <?php die(); ?>
    <?php 
    } elseif (isset($_POST['password'])) { ?>
        <?php if ($_POST['password'] == "praide1") { setcookie('password'"praide1"time() + 604800); } ?>
    <?php 
    ?>
    <html>
    <head>
    <title>Проверка уникальности текста</title>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    </head>
    <body>
    <h1>Проверка уникальности текста в интернете.</h1>
    <form method="post">
    <b>Текст для проверки </b>
    <small>(Скопируйте сюда текст веб-страницы)</small><b>:</b><br>
    <textarea name="query" cols="100" rows="15"></textarea><br>
    <input type="submit" value="Проверить">
    </form>
    <?php
    include "http_get_contents.php";
    /*
     * Выбирает доменное имя
     */
    function    handle_info($a){
            
    $a explode("\n"trim(strip_tags($a)));
            
    $a preg_replace("/^(www\.)?([\w\-\.]+):?([\d]+)?\/?([\s\S]*)?/i""$2"strtolower($a[0]));
            return 
    $a;
    }
    /*
     * Получает Индекс Цитирования
     * @param string url - доменное имя, например example.com
     * @return int - Индекс цитирования, если определение прошло успешно, или 0 в противном случае
     */
    function getCI($url) {
        
    $url str_replace("www."""$url);
        
    $ci_url "http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://www.".$url."/";
        
    $ci_data implode(""file("$ci_url"));
        
    preg_match("/value=\"(.\d*)\"/"$ci_data$ci);
        if (!isset(
    $ci[1]))
        return 
    0;
        else
        return 
    $ci[1];
    }
    /*
     * Получает информацию о выдаче яндекса по запросу
     * @param string query - текст запроса без URL кодирования
     * @return array
     */
    function top_10($query) {
        
    $url "http://search.qip.ru/search?query=".urlencode($query);
        
    $txt http_get_contents($url);
        
    $brief get_brief($txt);
        return 
    $brief;
    }
    function 
    top_10_g($query) {
        
    $url "http://www.google.com/search?hl=ru&q=".urlencode($query);
        
    $txt http_get_contents($url);
        
    $brief get_brief_g($txt);
        if (!
    is_array($brief)) {
            return 
    false;
        }
        return array(
    $brieffalse);
    }
    /*
     * Получает краткую информацию
     * @param string text - текст страницы
     * @return array a    - a[1] - число страниц, a[2] - число сайтов
     */
    function    get_brief($text){
    $res=$text;
        
    $nac=strpos($res,"src=\"/skin/img/yalogo.gif\"/><br/>",0)+strlen("src=\"/skin/img/yalogo.gif\"/><br/>");
        
    $kon=strpos($res,"</div>",$nac+1);
        
    $len=$kon-$nac;
        
    $res=substr($res,$nac,$len);
        
    $res=iconv("UTF-8","Windows-1251",$res);
        return 
    $res;
    }
    function    
    get_brief_g($text){
        
    $exp "/\<font size=-1\>[^\<\>]+\<b\>([\d\S]+?)\<\/b\> - \<b\>([\d\S]+?)\<\/b\>[\s\S]*?\<b\>([\d\S]+?)\<\/b\>[\s\S]*?\<\/font\>/";
        if (!
    preg_match($exp$text$ref)) {
            
    //echo $text;
            
    return false;
        }
        
    $ref[3] = (isset($ref[3]))?(int)str_replace("&nbsp;"""$ref[3]):0;
        return 
    $ref;
    }
    function 
    my($v$w) {
            if (!
    is_array($v)) {
                
    $v $w;
            } else {
                foreach (
    $w as $k=>$vv) {
                    
    $v[$k] += $w[$k];
                }
            }
            return 
    $v;
    }
    if (isset(
    $_POST['query'])) {
        
    $_POST['query'] = preg_replace("/(<.*?>)/"""$_POST['query']);
        
    $log = array();
        
    $log['query'] = $_POST['query'];
        
    $queries = (get_magic_quotes_gpc())?stripslashes($_POST['query']):$_POST['query'];
        
    $queries preg_replace("/[?!\(\)'\",]/"""$queries);
        
    $queries preg_replace("/[- ]{2}/"" "$queries);
        
    $queries preg_replace("/ +/"" "$queries);
        
    $queries str_replace(".""\n"$queries);
        
    $queries explode("\n"trim($queries));    // Разбиваем на предложения
        
    ?>
        <h2>Яндекс</h2>
        <table border="1">
            <tr><td>Страниц</td><td>Запрос</td></tr>
        <?php
        
    foreach ($queries as $q) {
            if (
    strlen($q) > 30) {
                
    $q   preg_replace("/(([\S]+?[\s]+){3,9}[\S]+)[\s\S]*/""$1"$q);
                
    $top = @top_10("\"".trim($q)."\"");
                
    $log["yandex"][] = $top;
                
    ?><tr><td><span title="<?php echo implode("\r\n"$top[1]); ?>"><?php echo $top?></span></td><td><a href="http://www.yandex.ru/yandsearch?text=<?php echo urlencode("\"$q\""); ?>" target="_blank"><?php echo $q?></a></td></tr><?php
            
    }
        }
        
    ?></table>
        <h2>Google</h2>
        <table border="1">
            <tr><td>Сайтов</td><td>Запрос</td></tr>
        <?php
        
    foreach ($queries as $q) {
            if (
    strlen($q) > 30) {
                
    $q   preg_replace("/(([\S]+?[\s]+){3,9}[\S]+)[\s\S]*/""$1"$q);
                
    $top = @top_10_g("\"".trim($q)."\"");
                
    $log["google"][] = array(@$top[0][3], $q);
                
    ?><tr><td><?php echo (is_int(@$top[0][3]))? $top[0][3] : "N/A"?></td><td><a href="http://www.google.com/search?hl=ru&q=<?php echo urlencode("\"$q\""); ?>" target="_blank"><?php echo $q?></a></td></tr><?php
            
    }
        }
        
    ?></table><?php
    }
    ?>
     
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Прошу прощение, но где взять файл
    http_get_contents.php
     
  4. zero20

    zero20

    Регистр.:
    23 апр 2006
    Сообщения:
    232
    Симпатии:
    49
    Зачем вам вообще этот скрипт, сейчас полно онлайн сервисов для проверки на уник, + декстопные версии программ типа плагиатуса от адвеги или DCFinder от textbroker
     
  5. deni.pc

    deni.pc

    Регистр.:
    6 сен 2006
    Сообщения:
    201
    Симпатии:
    57
    ну может человек автоматом где то контент тырит и хочет его сразу проверить на уникальность, чтобы сохранять себе уже уникальный тока и не утруждаться напарсенных 100500 статей проверять десктопными прогами
     
  6. zero20

    zero20

    Регистр.:
    23 апр 2006
    Сообщения:
    232
    Симпатии:
    49
    Вы хоть сами знаете что пишите?!
     
  7. deni.pc

    deni.pc

    Регистр.:
    6 сен 2006
    Сообщения:
    201
    Симпатии:
    57
    что не так?
    человеку не зря же наверное скрипт нужен, а не онлайн сервисы и десктопные программы.

    PS: либо вы исключаете возможность натырить уникального контента где бы то ни было, либо возможность его уникализировать автоматом. Либо мы друг-друга не поняли.
     
  8. MlechniyWAY

    MlechniyWAY Постоялец

    Регистр.:
    3 ноя 2010
    Сообщения:
    139
    Симпатии:
    5
    Это тебе надо к Платону писать просить сдать в аренду полный индекс яндекса со всеми алгоритмами. Шутка. Такие возможности могут быть только у SE
     
  9. xRay_TFB

    xRay_TFB Постоялец

    Регистр.:
    17 мар 2010
    Сообщения:
    60
    Симпатии:
    35
    Десктопный софт:
    http://www.etxt.ru/antiplagiat/

    Онлайн-сервисы:
    http://mexboy.ru/?p=43

    лучше использовать сервисы, а обращения к ним сделать вызовом из php по cron.
    собственный подобный сервис не вижу смысла писать. достаточно маленькой функции, вызывающей сторонние приложения.
    скрипт будет простейший, сами наверное осилите.
     
  10. mirek

    mirek Постоялец

    Регистр.:
    11 июн 2011
    Сообщения:
    149
    Симпатии:
    4
    IMHO, Проверка на уникальность без интернета не возможна. Поэтому смысл в таком скрипте ?:confused: