DomenForum.net

DomenForum.net (https://domenforum.net/index.php)
-   Программирование (https://domenforum.net/forumdisplay.php?f=26)
-   -   Поделитесь скриптом php для проверки уникальности текста (https://domenforum.net/showthread.php?t=206610)

Regarer 14.11.2016 19:16

Поделитесь скриптом php для проверки уникальности текста
 
Всем привет, может у кого завалялся скрипт для проверки уникальности текста через поисковики?

kovyilin 15.11.2016 15:26

А платный вариант не пойдет? Мы пользуемся вот этим: https://content-watch.ru/api/example/

"Начальная цена проверки одного текста до 20.000 символов - 25 копеек."

Regarer 16.11.2016 02:03

kovyilin, да вот именно хотелось бы халявной проверки, хотя бы самой простой ...

Richman 16.11.2016 04:53

Посмотрите тут.
http://www.nado.su/downloads.html
http://scriptunza.ru/php/seo/proverk...i-po-yandeksu/





PHP код:

<?php
/**
* Скрипт проверки уникальности.
*
* Разбивает введённый в него текст на куски по 10 слов, создаёт из них 10-словные запросы
* для Yandex и Google, разбирает выдачу и формирует отчёт о частоте упоминания комбинаций
* слов в интернете.
* Перед началом использования этого скрипта рекомендуется ознакомиться с правилами Яндекса.
* Автор скрипта не несёт ответственности за любой ущерб причинённый его неправильным использованием.
*
* @see http://rules.yandex.ru/termsofuse.xml
* @author agronom
* @version $Id$
*
*/
ob_start();
?>
<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="80" rows="5"></textarea><br>
<input type="submit" value="Проверить">
</form>
<?php
/**
* Выбирает доменное имя
* @param $a
*/
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 $query текст запроса без URL кодирования
* @return array $a
* $a[0][1] - число найденных страниц
* $a[0][2] - число найденных сайтов
* $a[1] - массив найденных доменов
*/
function top_10($query) {
$url "http://yandex.ru/yandsearch?text=".urlencode($query);
$txt file_get_contents($url);
//echo "Ответ Яндекса";
//echo nl2br(htmlspecialchars(print_r($txt, true)));
$brief get_brief($txt);
if (!
is_array($brief)) {
return 
false;
}
// Получаем список сайтов yandex top 10
preg_match("/\<ol[\s\S]*?\>[\s\S]*?\<\/ol[\s\S]*?\>/"$txt$results);
// Из списка ссылок делаем массив
preg_match_all("/\<li[\s\S]*?\>[\s\S]*?\<div class=\"info\">([\s\S]*?)\<\/div\>[\s\S]*?\<\/li[\s\S]*?\>/"$results[0], $results);
$results[1] = array_map("handle_info"$results[1]);
return array(
$brief$results[1]);
}
/**
* Получает информацию о выдаче Google по запросу
*
* @param string $query текст запроса без URL кодирования
* @return array
*/
function top_10_g($query) {
$url "http://www.google.com/search?hl=ru&q=".urlencode($query);
$txt file_get_contents($url);
$brief get_brief_g($txt);
if (!
is_array($brief)) {
return 
false;
}
return array(
$brieffalse);
}
/**
* Получает краткую информацию о числе результатов поиска в Yandex
*
* @param string $text текст страницы
* @return array $a $a[1] - число страниц, $a[2] - число сайтов
*/
function get_brief($text){
preg_match("/\<title\>[\s\S]+?:[\s\S]+?(\d+)[\s\S]+?\<\/title\>/i"$text$ref);
$ref[1] = (@$ref[1]) ? $ref[1] : ;
return 
$ref;
}
/**
* Получает краткую информацию о числе результатов поиска в Google
*
* @param string $text текст страницы
* @return array $a $a[1] - число страниц
*/
function get_brief_g($text){
$exp "/\<div id=ssb\>\<div id=prs>\<b\>[\s\S]*?\<\/b\>\<\/div>\<p\>[\s\S]*?\<b\>[\d]*?\<\/b\> - \<b\>[\d]*?\<\/b\>[\s\S]*?\<b\>([\d\s]*?)\<\/b\>[\s\S]*?\<\/p\><\/div\>/i";
if (!
preg_match($exp$text$ref)) {
return 
false;
}
$ref[1] = (isset($ref[1]))?(int)str_replace("&nbsp;"""$ref[1]):0;
return 
$ref;
}

if (isset(
$_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"][] = array($top[0][1], $q);
?><tr><td><span title="<?php echo implode("\r\n"$top[1]); ?>"><?php echo $top[0][1]; ?></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][1], $q);
?><tr><td><?php echo (is_int(@$top[0][1]))? $top[0][1] : "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
}
?>


Regarer 16.11.2016 06:13

Richman, да, то что надо. Спасибо!

(и как блин я искал :confused:)

Richman 16.11.2016 13:59

Regarer, даже не знаю, как вы искали. :D
Я даже поисковой запрос не придумывал, у вас взял.
"скрипт для проверки уникальности текста через поисковики".

Regarer 16.11.2016 14:05

Richman, я так думаю после суток ковыряния к коде найти что-то нереально :D


Richman, раз Вы такой кудесник, может поможете найти рабочий скрипт парсера выдачи гугла? а то без него ведь никак не напроверяешь уникальность .... я нашел один, капчу даже сохраняет гугловскую, но то ли с куками не то что-то, то ли опять пересидел и голова деревянная :rofl8yi:

Richman 16.11.2016 18:10

Regarer, да кудесник не я, а всемогущий Гугл. :D
И опять таки, воспользовался вашим же ключевым словом:
"скрипт парсера выдачи гугла".
Первые 4 ссылки в Гугл.
http://www.x-scripts.com/scripts/parser_google.php
https://talk.pr-cy.ru/topic/6402-pom...ydachi-google/
http://www.cyberforum.ru/php-regex/thread1218537.html
http://ruseo.net/besserverniy-parser...pt-t16593.html

Regarer 16.11.2016 18:23

не, это все старое, да и без проверки капчи .. сейчас уже не работает, ну кроме того что через айпи гугла. А через айпи это вроде как 5 баксов 1000 запросов, т.е. 30 коопеек запрос, т.е. лучше тогда воспользоваться советомkovyilin во 2 посте.

Richman 16.11.2016 19:47

Regarer, ну уж извините, что нашел, то дал.


Текущее время: 05:01. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Техническая поддержка — DevArt.PRO. Перевод: zCarot.