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

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

  1. LEXAlForpostl

    LEXAlForpostl

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

    smalllamer Организм

    Регистр.:
    20 сен 2009
    Сообщения:
    317
    Симпатии:
    125
    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
    Сообщения:
    750
    Симпатии:
    227
    Прошу прощение, но где взять файл
    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
    Сообщения:
    165
    Симпатии:
    4
    IMHO, Проверка на уникальность без интернета не возможна. Поэтому смысл в таком скрипте ?:confused: