У меня по умолчанию таумаут виполнения запроса 30сек, чтоб не нагружать сервер. А етот скрипт виполняєтся не менене пяти минут
Спасибо всем Уже переделал. Помог мне один человек и просил не говорить его имя. Справился со второго раза. Вконце сказал что там возможно не бьили пробели. Вот каким кодом сделал
---------- Добавлено 12.07.2013 в 21:28 ----------Тему закривайте
Уже сам сделал через num**(). Тему можна закрить
Что в таком коде добавить чтоб удалялись пробели?
Так не роботаєт:
К сожелению отблагодарить нечем. Могу только дать инвайт на 2ip.ru(там у вас исчезнет капча и появятся ип-шпион, и др.). А код парсера викласти не могу, Извините---------- Добавлено 12.07.2013 в 11:17 ----------Код парсинга
<?phpdefine( "DOCROOT", dirname(__FILE__) ."/" );include_once( DOCROOT ."includes/functions.class.php" );include_once( "includes/dbconfig.php" );class ParseTwitt{ var $start_url = "https://twitter.com/"; var $auth_url = "https://twitter.com/sessions"; var $table = "dle_post"; function __construct(){ $this->funcs = new Functions; $this->config = $this->funcs->getConfig( 'general' ); if( !$this->config['username'] OR !$this->config['passwd'] ) { die( "Заполните данные для авторизации на twitter.com" ); } if( !intval($this->config['time_auth']) OR (time() - intval($this->config['time_auth'])) > 3600 ){ if( !$this->auth() ){ $this->logs( "Неправильные данные для доступа в твиттер" ); $this->auth_status = FALSE; }else{ $this->config['time_auth'] = time(); $this->funcs->saveConfig( "general", $this->config ); $this->auth_status = TRUE; } }else{ $this->auth_status = TRUE; } } function auth( $redirect_url="/" ){ $page = $this->funcs->url_open( $this->start_url ); if( stripos($page, 'name="session[password]"') === FALSE ) return TRUE; $post_data = "session[username_or_email]=". rawurlencode($this->config['username']) ."&session[password]=". rawurlencode($this->config['passwd']); preg_match( '#<input type="hidden" value="(.[^"]+?)" name="authenticity_token"/>#', $page, $auth_token ); $post_data .= "&authenticity_token=". rawurlencode($auth_token[1]) ."&redirect_after_login=". rawurlencode($redirect_url) ."&scribe_log="; $post_data .= "&remember_me=1"; $page = $this->funcs->url_open( $this->auth_url, array("post_data" => $post_data) ); if( stripos($page, 'name="session[password]"') === FALSE ) return TRUE; } function parseTwitts( $page ){ if( !$page ) return; preg_match( '#data-element-term="tweet_stats" data-nav=\'profile\'>\s{0,200}<strong>(.[^>]+?)</strong>#', $page, $value ); if( !$value ) return; return trim( $value[1] ); } function parseFollowing( $page ){ if( !$page ) return; preg_match( '#data-element-term="following_stats" data-nav=\'following\'>\s{0,200}<strong>(.[^>]+?)</strong>#', $page, $value ); if( !$value ) return; return trim( $value[1] ); } function parseFollowers( $page ){ if( !$page ) return; preg_match( '#data-element-term="follower_stats" data-nav=\'followers\'>\s{0,200}<strong>(.[^>]+?)</strong>#', $page, $value ); if( !$value ) return; return trim( $value[1] ); } function parseAvatar( $page ){ if( !$page ) return; preg_match( '#<a href="(.[^"]+?)" class="profile-picture media-thumbnail"#', $page, $value ); if( !$value ) return; return $value[1]; } function getInfo( $page ){ if( !$page ) return; $info = array(); $info['twitts'] = $this->parseTwitts( $page ); $info['following'] = $this->parseFollowing( $page ); $info['followers'] = $this->parseFollowers( $page ); $info['link_img_profile'] = $this->parseAvatar( $page ); return $info; } function getLoginsTwitt(){ $resource = mysql_query( "SELECT `id`, `twitter_login` FROM `". $this->table ."` WHERE `twitter_login` != '';" ); return $resource; } function fetchArray( $resource ){ return mysql_fetch_array( $resource ); } function updateInfoTwitt( $info, $id ){ if( !$info OR !$id ) return; mysql_query( "UPDATE `". $this->table ."` SET `twitter_twitts` = '". $info['twitts'] ."', `twitter_following` = '". $info['following'] ."', `twitter_followers` = '". $info['followers'] ."', `twitter_pic` = '". mysql_real_escape_string($info['link_img_profile']) ."' WHERE `id` = '". $id ."' ;" ) or die(mysql_error()); } function updater(){ if( !$this->auth_status ) $this->funcs->logs( "Ошибка авторизации" ); $resource = $this->getLoginsTwitt(); while( $row = $this->fetchArray($resource) ){ $twitter_login = $row['twitter_login']; if( !$twitter_login ) continue; $page = $this->funcs->url_open( $this->start_url . $twitter_login ); $info = $this->getInfo( $page );// var_dump( $info, $row );continue; $this->updateInfoTwitt( $info, $row['id'] ); sleep( 3 ); } }}$p = new ParseTwitt;$p->updater();?>
Нашел подобную функцию в парсинге. Как ее включить?
// удаляет пробелы в строке function delTwoSpaces( $string ){ $string = trim( $string ); while( TRUE ){ if( strpos($string, " ") === FALSE ) break; $string = str_replace( " ", "", $string ); } return $string; }
там не текст а числа. А нужно так сделать чтоб не возникало багов с сортировкой
Мне нужен ПХП код. Когда я добавляю знаменитость я ети дание не ввожу а потом и парсером делаю. Парсинг парсит сначало в тхт файл а потим все вместе в таблицу.
А каким ПХП кодом можна удалять пробели из чисел автоматичиски
Так я из него и узнал. Помогите с кодом парсинга---------- Добавлено 11.07.2013 в 21:02 ----------Только теперь вместо 954 321 пишет 954 и так у всех---------- Добавлено 11.07.2013 в 21:12 ----------а вместо 1 025 453 пишет 1. Хз в чем проблема
Кажется получаєтся... Потом отпишусь---------- Добавлено 11.07.2013 в 20:36 ----------А не могли б ви еще помочь с ПХП кодом. О автоматичиски парсит дание в таблицу
А код роботаєт когда прописивать его так: