]*[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) echo ('Ошибка curl: ' . curl_error($ch)); curl_close($ch); return $response_data; } $LinkList = DB::getAll("SELECT * FROM `sm2` WHERE `html` IS NULL AND `status`=1 ORDER BY RAND() LIMIT 200"); 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