ini_set memory_limit 64M set_time_limit MySQL require _SERVER DOCUMENT

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?
ini_set('memory_limit', '64M');
set_time_limit(0);
//MySQL
require($_SERVER['DOCUMENT_ROOT'].'/source/mysql.php');
$db = new DB;
function myecho($str) {
echo $str.'<br />'."\n";
ob_flush();
flush();
}
function get_html($get, $host) {
$hdr = "GET ".$get." HTTP/1.1\r\n";
$hdr .= "Host: ".$host."\r\n";
$hdr .= "User-Agent: GoogleBot/1.0\r\n";
$hdr .= "Cookie: age_check=1;screen_width=1680;\r\n\r\n";
$stuff = '';
$socket = fsockopen($host, 80);
if(!$socket) { return false; }
fwrite($socket, $hdr);
while(!feof($socket)) {
$stuff .= fgets($socket, 128);
}
fclose($socket);
return $stuff;
}
function get_file($url, $path) {
$cont = file_get_contents($url);
$f = fopen($path, 'w');
fwrite($f, $cont, strlen($cont));
fclose($f);
}
?>
<html>
<head>
<title>PornBot</title>
<style type="text/css">
body { font: 9pt Arial; }
</style>
</head>
<body>
<?
//Загрузим ключевики
$keys = file($_SERVER['DOCUMENT_ROOT'].'/keys.txt');
//Какую страницу парсить
$page = (isset($_GET['page']) && is_numeric($_GET['page']) ) ? $_GET['page'] : '1';
//Получаем главную страницу
myecho('Получаю главную страницу ('.$page.')...');
$html = get_html('/?page='.$page, 'youporn.com');
myecho('Страница получена, обрабатываю данные.');
//Вытаскиваем ссылки роликов
preg_match_all('/<h1><a href=\"(.+)\">(.+)<\/a><\/h1>/i', $html, $temp1);
//Вытаскиваем превью картинки и кол-во multiple-шотов
preg_match_all('/<img id=\"thumb[0-9]+\" src=\"(.+)\" num=\"([0-9]+)\" width=\"160\" height=\"120\"/i', $html, $temp2);
//Вытаскиваем длину записи
preg_match_all('/<h2>([0-9]+)<span>:<\/span>([0-9]+)<\/h2>/i', $html, $temp3);
//Компонуем
for($i=0;$i<count($temp1[1]);$i++) {
$video[$i]['page_link'] = $temp1[1][$i];
$video[$i]['img_preview'] = $temp2[1][$i];
$video[$i]['m_shots'] = $temp2[2][$i];
$video[$i]['duration'] = $temp3[1][$i].':'.$temp3[2][$i];
}
myecho('Количество фильмов на странице: '.count($video).'.<br />');
$counter = 0;
//-----------------------------------------//
// Начинаем пробегать по страницам роликов //
//-----------------------------------------//
for($i=0;$i<count($video);$i++) {
myecho('<b>Ролик №'.($i+1).'</b>');
//Получаем страницу с роликом
myecho('Получаю страницу "'.$video[$i]['page_link'].'"...');
$html = get_html($video[$i]['page_link'], 'youporn.com');
myecho('Страница получена, обрабатываю данные.');
//Название ролика
preg_match('/\/watch\/[0-9]+\/([a-z0-9\- ]+)\//i', $video[$i]['page_link'], $caption);
$video[$i]['caption'] = trim(str_replace('-', ' ', $caption[1]));
myecho('Название ролика: '.$video[$i]['caption']);
myecho('Длина ролика: '.$video[$i]['duration']);
//FLV и размер
preg_match('/<a href=\"(.+)\">FLV - Flash Video format<\/a> \(([0-9\,]+) KB\)/i', $html, $temp);
$video[$i]['flv'] = $temp[1];
$video[$i]['size'] = $temp[2];
myecho('Ссылка на FLV: '.$video[$i]['flv']);
myecho('Размер: '.$video[$i]['size']);
if((int)$video[$i]['size'] < 33) {
//Заношу в БД
$sql = 'INSERT INTO at_videos (caption, duration, size, addtime) VALUES ("'.trim($keys[rand(0, count($keys)-1)]).'", "'.$video[$i]['duration'].'", "'.$video[$i]['size'].'", '.time().')';
$db->query($sql);
myecho('Информация занесена в БД');
$id = $db->last_id();
myecho('Присвоенный id: '.$id);
//Скачиваем
myecho('Скачиваю картинку...');
if(strstr($video[$i]['img_preview'], 'nothumb')) {
myecho('Картинки превью для этого ролика нет.');
} else {
get_file($video[$i]['img_preview'], $_SERVER['DOCUMENT_ROOT'].'/stuff/screenshots/'.$id.'.jpg');
myecho('Картинка скачана');
}
myecho('Скачиваю видеоролик...');
get_file($video[$i]['flv'], $_SERVER['DOCUMENT_ROOT'].'/stuff/videos/'.$id.'.flv');
myecho('Видеоролик скачан');
$counter++;
if($counter == 16) { myecho('<b>16 роликов скачано</b>'); break; }
} else {
myecho('<i>Не скачиваю ролик</i>');
}
myecho('<br />');
}
require($_SERVER['DOCUMENT_ROOT'].'/source/xml-sitemap-gen.php');
?>
</body>
</html>