Помощник
|
DLE rss импорт |
m0tti
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
7.8.2009, 11:57;
Ответить: ZiTosS
Сообщение
#2
|
|
m0tti, Не обычная лента? Если через rss канал, то там всегда не полные новости даются. А если граббером, то там и под себя настроить можно.
|
|
|
m0tti
|
Сообщение
#3
|
|
Именно граббером, но что то в связках {get} {skip}, не очень то все работает
|
|
|
ZiTosS |
7.8.2009, 14:24;
Ответить: ZiTosS
Сообщение
#4
|
|
А вы уверены, что ваш граббер читает полные новости, а не считывает их с общей страницы, где выводятся неполные? Можно код граббера кинуть? Хоть в личку хоть как, поможем.
|
|
|
m0tti
|
Сообщение
#5
|
|
вот вроде это
<?php
/* ----------------------------------------------------- Назначение: Импорт новостей ===================================================== */ @session_start(); @error_reporting(7); @ini_set('display_errors', true); @ini_set('html_errors', false); define('DATALIFEENGINE', true); define('ROOT_DIR', '../..'); define('ENGINE_DIR', '..'); include ENGINE_DIR.'/data/config.php'; if ($config['http_home_url'] == "") { $config['http_home_url'] = explode("engine/ajax/rss.php", $_SERVER['PHP_SELF']); $config['http_home_url'] = reset($config['http_home_url']); $config['http_home_url'] = "http://".$_SERVER['HTTP_HOST'].$config['http_home_url']; } require_once ENGINE_DIR.'/classes/mysql.php'; require_once ENGINE_DIR.'/data/dbconfig.php'; require_once ROOT_DIR.'/language/'.$config['langs'].'/adminpanel.lng'; $config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset']; require_once ENGINE_DIR.'/inc/include/functions.inc.php'; $user_group = get_vars ( "usergroup" ); if (! $user_group) { $user_group = array (); $db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" ); while ( $row = $db->get_row () ) { $user_group[$row['id']] = array (); foreach ( $row as $key => $value ) { $user_group[$row['id']][$key] = $value; } } set_vars ( "usergroup", $user_group ); $db->free (); } require_once ENGINE_DIR.'/modules/sitelogin.php'; require_once (ENGINE_DIR.'/classes/parse.class.php'); if(!$user_group[$member_id['user_group']]['admin_rss']) {die ("error");} function get_content ($scheme, $host, $path, $query, $others=''){ if (function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $scheme."://".$host.$path."?".$query); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($ch, CURLOPT_REFERER, $scheme."://".$host.$path.$query); if ($others != '') curl_setopt($ch, CURLOPT_COOKIE, $others); @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); if ($data) return $data; else return false; } else { if (!empty($others)) $others = "Cookie: ".$others."\r\n"; else $others = ""; $post="GET $path HTTP/1.1\r\nHost: $host\r\nContent-type: application/x-www-form-urlencoded\r\n{$others}User-Agent: ".$_SERVER['HTTP_USER_AGENT']."\r\nContent-length: ".strlen($query)."\r\nConnection: close\r\n\r\n$query"; $h=@fsockopen($host,80, $errno, $errstr, 30); if (!$h) { return false; } else { fwrite($h,$post); for($a=0,$r='';!$a;){ $b=fread($h,8192); $r.=$b; $a=(($b=='')?1:0); } fclose($h); } return $r; } } function convert ( $from, $to, $string ) { if (function_exists('iconv')) { return @iconv($from, $to, $string); } else { return $string; } } $news_id = intval($_REQUEST['news_id']); $rss_id = intval($_REQUEST['rss_id']); $link = parse_url(urldecode($_REQUEST['link'])); $parse = new ParseFilter(Array(), Array(), 1, 1); $parse->leech_mode = true; $rss = $db->super_query("SELECT * FROM " . PREFIX . "_rss WHERE id='$rss_id'"); $rss['cookie'] = str_replace("\n", "; ", str_replace("\r", "", stripslashes(rtrim($rss['cookie'])))); $content = get_content ($link[scheme], $link['host'], $link['path'], $link['query'], $rss['cookie']); $rss['search'] = addcslashes(stripslashes($rss['search']), "[]!-.?*\\()|"); $rss['search'] = str_replace("{get}", "(.*)", $rss['search']); $rss['search'] = str_replace("{skip}", ".*", $rss['search']); $rss['search'] = preg_replace("![\n\r\t]!s", "", $rss['search']); $rss['search'] = preg_replace("!>[ ]{1,}<!s", "><", $rss['search']); if ($rss['search'] != "" && preg_match("!".$rss['search']."!Us", $content, $found)) { $temp = array(); for($i=1; $i < sizeof($found); $i++) { $temp[] = $found[$i]; } $content = implode("", $temp); if ($_POST['rss_charset'] != strtolower($config['charset']) AND $content != "") $content = convert($_POST['rss_charset'], strtolower($config['charset']), $content); if ($content != "") { $content .= "<br /><br /><i>".$lang['rss_info']." ".$link['host']."</i>"; } if ($rss['text_type']) { $content = $parse->decodeBBCodes($content, false); } else { $content = $parse->decodeBBCodes($content, true, "yes"); } if ($content != "") { $buffer = <<<HTML <textarea rows="15" style="width:600px;" id="full_{$news_id}" name="content[{$news_id}][full]">{$content}</textarea> HTML; } else $buffer = "<font color='red'>".$lang['rss_error']."</font>"; } else $buffer = "<font color='red'>".$lang['rss_error']."</font>"; @header("Content-type: text/css; charset=".$config['charset']); echo $buffer; ?> |
|
|
ZiTosS |
7.8.2009, 16:21;
Ответить: ZiTosS
Сообщение
#6
|
|
Вообще тут ограничений нету. Надо копать в другом месте, где не знаю.
|
|
|
m0tti
|
Сообщение
#7
|
|
а при составлении шаблона граба {get} и {skip} можно несколько раз употреблять
|
|
|
ZiTosS |
7.8.2009, 17:40;
Ответить: ZiTosS
Сообщение
#8
|
|
m0tti, скорее всего можно, вот только что это тебе даст...
|
|
|
m0tti
|
Сообщение
#9
|
|
делать выборку контента, граблю просто каталог.
Нашел граббер с базой синонимов и синонимайзер, правда ни как разобраться немогу. Могу поделиться, может вместе найдем решение |
|
|
ZiTosS |
9.8.2009, 0:24;
Ответить: ZiTosS
Сообщение
#10
|
|
m0tti, я с DLE не часто работаю. Поэтому если и смогу помочь, то не быстро, так как щас много работы, да и двиг нужно устанавливать.
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
DLE xProtect | 2 | xoopw | 5950 | 15.1.2024, 21:06 автор: Diana_Wesley |
|
Обновить сайт на CMS DLE | 1 | Sawich | 1641 | 2.9.2023, 10:10 автор: WoWeb |
|
Изготовление красивых сайтов на DLE под ключ | Доступные цены от 2000 руб. |
1 | Admiral_ukr | 1571 | 20.11.2022, 10:08 автор: Webmaster24 |
|
Ищу спеца по DLE вылечить сайт | 4 | Reactive | 2611 | 22.10.2022, 9:01 автор: Fozik77 |
|
требуется перенос с Dle на wordpres нужен человек для переноса движка |
5 | Юрий82 | 1919 | 30.7.2022, 18:02 автор: Klerik84 |
Текстовая версия | Сейчас: 28.3.2024, 20:01 |