Бесплатный генератор сателлитов DLE

12
1R
На сайте с 26.02.2010
Offline
35
#11

В принцыпе немного подправил, у меня работать не хотел. Сейчас работает все кроме выбора категории куда постить

Что генерировало разных авторов

формат ввода:

asdf|mix|lopp|kolya

Если будут проблемы с кодировкой просто поменяйте ее в скрипте

строка

mysql_query("/*!40101 SET NAMES 'windows-1251' */");
zip script.zip
part1zan
На сайте с 06.08.2007
Offline
94
#12

выбор категории постинга в html форме там делается запрос в бд на выборку всех категорий надо заключить в теги пыха обратно ибо он не понимает :) а так идей ещё много, но пока нет смысла дорабатывать ибо апа не было :) если будет держаться в поиске можно и доработать

1R
На сайте с 26.02.2010
Offline
35
#13

Как видно по одному из сайтов http://sat2.pp.ua сидит в индексе стабильно более 200 страниц

Общее количество новостей: 500

Так что можно делать саты, и в индексе будут сидеть :)

Пс. кто может доработать и улучшить буду рад помощи :)

K7
На сайте с 14.05.2009
Offline
22
#14

Весьма заинтересовало, сейчас качну и потестю! Автору спасибо заранее!

[Удален]
#15

10link.ru, запускается по крону или по ручкам ? Было бы не плохо прикрутить синонимайзер + автокомментатора. Т.е. загоняешь в него стандартные и банальные фразы, из серии "Интересная новость", "Спасибо автору за полезный материал" и т.д. Устанавливаем интервал (от 0 до n), рандомно выбирается количество комментарием, а затем из списка рандомно выбирается необходимое количество комментов и вставляется. Само собой нужен фильтр, чтобы в комментариях не встречались одни и те же ответы.

Вот )))

J2
На сайте с 12.08.2010
Offline
0
#16


<?
@session_start();
@set_time_limit (0);


// Соединение с MySQL. Используем данные указанные в настройках вашего DLE. ------------------------------------------------------------------------------------------------------------------

define ("DATALIFEENGINE", "true");
define ( 'ROOT_DIR', '../' );
define ( 'ENGINE_DIR', ROOT_DIR . '/engine' );

include("../engine/classes/mysql.class.php");
include("../engine/data/dbconfig.php");
include("../engine/data/config.php");
mysql_connect(DBHOST, DBUSER, DBPASS);
mysql_query("/*!40101 SET NAMES 'cp1251' */");

if(!@mysql_select_db(DBNAME)) {
$host="localhost"; // server: localhost (127.0.0.1)
$user="root"; // Юзер MySQL
$pass=""; // Пароль к Юзеру MySQL
$dbname="wrz"; // Имя базы данных MySQL
function conn() {
global $conn, $host, $user, $pass, $dbname;
$conn=mysql_connect($host,$user,$pass);
echo mysql_error();
mysql_query("/*!40101 SET NAMES 'cp1251' */");
mysql_select_db($dbname);
}
conn();
}

$sqlcat=mysql_query("SELECT * FROM dle_category");


// ------------------------------------------------------------------------------------------------------------------





class httpclient {

var $url;

function getHtml()
{
$ref = "http://www.google.com";
$ch = curl_init($this->url);
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt( $ch, CURLOPT_URL, $this->url );
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookiefile');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookiefile');
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_ENCODING, "" );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 10 );
curl_setopt( $ch, CURLOPT_TIMEOUT, 30 );
curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 );
$result = curl_exec($ch);
curl_close($ch);
return $result;
}

function mylog($log)
{
$tm = date ("d-m-Y H:i:s");
echo "[$tm] - $log...<br />"; flush();
}

function mylog_err($log)
{
$tm = date ("d-m-Y H:i:s");
echo "<span style=\"color: red\">[$tm] - $log...</span><br />"; flush();
}
}


if (isset($_POST[smb]))
{

$http1 = new httpclient();

for ($i=0; $i < $_POST[kol]; $i++)
{
$error = false;

$http1->url = "http://referats.yandex.ru/$_POST[tema].xml";

$http1->mylog("Получаем страницу $http1->url");

$temp1 = $http1->getHtml();

if (!preg_match('/<h1[^>]+>(.*?)<\/h1>/', $temp1, $t_zag))
{
$error = true;
$http1->mylog_err("Не нашли заголовок. Видимо в бан яшки попали");
}

$zag = trim(preg_replace("/Тема:/i", "", $t_zag[1]));

if (!preg_match('/<\/h1>\s+(<p>.*<\/p>)\s+<\/div><\/td>/ims', $temp1, $t_text))
{
$error = true;
$http1->mylog_err("Не нашли текст реферата. Видимо в бан яшки попали");
}

$text = strip_tags($t_text[1]);

$filename = "000000$i.txt";

if (!$error)
{
$f = fopen("$filename", "w");

if (fwrite($f, "$zag\n$text"))
{
$http1->mylog("Реферат успешно записали в файл");
}

fclose($f);
}

echo "<hr />";

if ($_POST[sleep] > 0)
{
$http1->mylog("Пауза $_POST[sleep] сек");
sleep($_POST[sleep]);

}
}

}
else
{

?>

<form action="" method="post">
Парсим рефераты по
<select name="tema">
<option value="astronomy">астрономии</option>
<option value="geology">геологии</option>
<option value="gyroscope">гироскопии</option>
<option value="literature">литературоведению</option>
<option value="marketing">маркетингу</option>
<option value="mathematics">математике</option>
<option value="music">музыковедению</option>
<option value="polit">политологии</option>
<option value="agrobiologia">почвоведению</option>
<option value="law">правоведению</option>
<option value="psychology">психологии</option>
<option value="geography">страноведению</option>
<option value="physics">физике</option>
<option value="philosophy">философии</option>
<option value="chemistry">химии</option>
<option value="estetica">эстетике</option>
</select><br />
Количество рефератов <input type="text" name="kol" value="500" /> <br />
Задержка между запросами (сек) <input type="text" value="0" name="sleep" /><br />


Дата публикации новостей:<br/>
Текущая<input type=radio name=date value=1 checked=true><br/>
Выставить автоматически по диапазону <input type=radio name=date value=2><br/>
<input name="date_start" class="date_start" style="width:198px;"/> <input name="date_end" class="date_end" style="width:198px;"/><br/>Даты вводяться в формате ММ/ДД/ГГГГ

Автор новостей : <br/> <input type="text" name="autor" style="width:401px;"><br/>

Рубрика: <br/> <select name=category style="width:408px;">
<?



while($cat=mysql_fetch_array($sqlcat))
{
echo "<option value=".$cat['id'].">".$cat['name']."</option>";
}

echo "</select>";
echo " <input type='hidden' value='1' name='smb' />";
echo "<br><input type='submit' value='Парсить'>";
echo "</form>";


?>

<?

}








function translit($str)
{
$tr = array(
"А"=>"a","Б"=>"b","В"=>"v","Г"=>"g",
"Д"=>"d","Е"=>"e","Ж"=>"j","З"=>"z","И"=>"i",
"Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
"О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
"У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"ts","Ч"=>"ch",
"Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
"Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"j",
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
"ы"=>"yi","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
" "=> "_", "."=> "", "/"=> "_"
);
return preg_replace('/[^A-Za-z0-9_\-]/', '', strtr($str,$tr));
}



for ($i=1; $i<=$_POST[kol]; $i++){
$fn = "000000$i.txt";

$fp = fopen($fn, "r");
if(!$fp) exit("Такой файл не существует");
$title = trim(fgets($fp, filesize($fn)));

$story = trim(fread($fp, filesize($fn)));
$temp = explode("\n", $story, 2);
$short = trim($temp[0]);
$full = trim($temp[1]);

// функция даты публикации
if($_POST['date']==2){

$dateminarray = explode("/", $_POST['date_start']);
$datemaxarray = explode("/", $_POST['date_end']);

$mindate = mktime(mt_rand(00,23),mt_rand(00,59),mt_rand(00,59),$dateminarray[0],$dateminarray[1],$dateminarray[2]);
$maxdate = mktime(mt_rand(00,23),mt_rand(00,59),mt_rand(00,59),$datemaxarray[0],$datemaxarray[1],$datemaxarray[2]);
$daterand = mt_rand($mindate, $maxdate);
$date = date("Y-m-d H:i:s", $daterand);
}else{
// В противном случае - текущая дата
$date = date("Y-m-d H:i:s");
}
$cat=$_POST['category'];
// Выбираем случайного автора новости
$authorarr = explode("|", $_POST['autor']);
$author = $authorarr[mt_rand(0,count($authorarr)-1)];

mysql_query("INSERT INTO `dle_post` (`autor`, `date` , `short_story` , `full_story` , `tags`, `title` , `category` , `approve`, `allow_main` , `allow_comm`, `allow_rate`, `news_read`, `alt_name`) VALUES ('".$author."','".$date."', '".$short."', '".$full."', ' ', '".$title."', '".$cat."' , '1', '1', '1', '1', '0', '".translit($title)."')");

// Обновляем количество записей у автора публикации
mysql_query( "UPDATE " . PREFIX . "_users set news_num=news_num+1 where name=".$author."" );
}

//clear_cache();
?>


чучуть доделал в папку кидаете (корень/папка)

автаматом берёт даные о базе для DLE

jone21 добавил 13.08.2010 в 00:41

щас делаю подобное только для гугль новостей + задумка с хорошей прибылью кого интересует пишите в аську 154-941

S
На сайте с 26.05.2010
Offline
10
#17

по описанию конфетка, ща заценим, потестим

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий