102 lines
3.9 KiB
PHP
Executable File
102 lines
3.9 KiB
PHP
Executable File
<?php
|
|
$_SERVER['SERVER_NAME']='tk-ligat.ru';
|
|
require_once('/home/cloud/core/set/tk-ligat.ru.php');
|
|
require_once('/home/cloud/core/api/php/db.php');
|
|
require_once('/home/cloud/core/api/php/json.php');
|
|
|
|
function leopak ($text) {
|
|
$old1 = array("\\");
|
|
$new1 = array("/");
|
|
$text = str_replace($old1, $new1, $text);
|
|
return $text;
|
|
}
|
|
|
|
/* ищет str в txt если находит, возвращает единичку */
|
|
function findtxt($txt, $str){
|
|
$pos1 = stripos($txt, $str);
|
|
if ($pos1 === false)
|
|
return 0;
|
|
else
|
|
return 1;
|
|
}
|
|
|
|
|
|
function add_link($html){
|
|
preg_match_all("/<[Aa][\s]{1}[^>]*[Hh][Rr][Ee][Ff][^=]*=[ '\"\s]*([^ \"'>\s#]+)[^>]*>/", $html, $matches);
|
|
$urls = $matches[1]; // Берём то место, где сама ссылка (благодаря группирующим скобкам в регулярном выражении)
|
|
/* Выводим все ссылки */
|
|
for ($j = 0; $j < count($urls); $j++){
|
|
$link=$urls[$j];
|
|
if (findtxt($link, 'https://www.deznet.ru')==0) $link = 'https://www.deznet.ru' . leopak($link);
|
|
$id=DB::getValue("SELECT `id` FROM `sm2` WHERE `link` LIKE '%" . $link . "' LIMIT 1");
|
|
if (!$id)DB::add("INSERT INTO `sm2` (`link`, `status`) VALUES (?, ?)", array($link, 1));
|
|
}
|
|
}
|
|
|
|
function get_page($link){
|
|
$agent = 'Mozilla/5.0 (compatible; YandexBot/3.0)';
|
|
$ch = curl_init($link);
|
|
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
|
|
curl_setopt($ch, CURLOPT_TIMEOUT, 20); //timeout in seconds
|
|
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
|
$dir = dirname(__FILE__);
|
|
$config['cookie_file'] = $dir . '/cookies/' . md5(@$_SERVER['REMOTE_ADDR']) . '.txt';
|
|
curl_setopt($ch, CURLOPT_COOKIEFILE, $config['cookie_file']);
|
|
curl_setopt($ch, CURLOPT_COOKIEJAR, $config['cookie_file']);
|
|
curl_setopt($ch, CURLOPT_COOKIE, "PMBC=96152e8e9a0168a731539c5e52c6b39a; PHPSESSID=jl0i13pn3157qca807jgp0jqa7; ServerName=WoW+Circle+3.3.5a+x5; serverId=1");
|
|
// curl_setopt($ch, CURLOPT_PROXY, 'localhost:9050'); // Use if proxy have username and password
|
|
// curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
|
|
$response_data = curl_exec($ch);
|
|
if (curl_errno($ch) > 0) die('Ошибка curl: ' . curl_error($ch));
|
|
curl_close($ch);
|
|
return $response_data;
|
|
}
|
|
|
|
$LinkList = DB::getAll( "SELECT * FROM `sm2` WHERE `html` IS NULL AND `status`=1 AND (
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%0/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%1/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%2/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%3/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%4/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%5/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%6/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%7/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%8/' OR
|
|
`link` LIKE 'https://www.deznet.ru/catalog/%9/'
|
|
) ORDER BY RAND() LIMIT 300");
|
|
|
|
for ($i=0; $i<count( $LinkList ); $i++){
|
|
//if (findtxt($LinkList[$i]['link'], 'https://www.deznet.ru')==0) $LinkList[$i]['link']= 'https://www.deznet.ru' . $LinkList[$i]['link'];
|
|
$html=get_page($LinkList[$i]['link']);
|
|
//echo $LinkList[$i]['html'];
|
|
|
|
//echo $html;
|
|
if ($html) {
|
|
|
|
add_link($html);
|
|
$html=base64_encode(gzcompress ( $html, 9));
|
|
|
|
echo $html;
|
|
$md5=md5($html);
|
|
DB::set("UPDATE `sm2` SET `status`=0, `html`=?, `md5`=? WHERE `id`=?", array($html, $md5, $LinkList[$i]['id']));
|
|
}
|
|
|
|
|
|
unset($html);
|
|
}
|
|
|
|
|
|
|
|
//ищем дубли....
|
|
/*
|
|
unset($LinkList);
|
|
$LinkList = DB::getAll( 'SELECT * FROM `sm2` WHERE `md5` IS NULL');
|
|
for ($i=0; $i<count( $LinkList ); $i++){
|
|
DB::set("DELETE FROM `sm2` WHERE `link`=?", $LinkList[$i]['link']);
|
|
$link=leopak( $LinkList[$i]['link'] );
|
|
DB::add("INSERT INTO `sm2` (`link`, `status`) VALUES (?, ?)", array($LinkList[$i]['link'], 1));
|
|
}
|
|
*/
|
|
|
|
?>
|