<MyRusakov.ru />

WordPress 4. Пример создания блога

WordPress 4. Пример создания блога

Видеокурс "WordPress 4. Пример создания блога" научит Вас создавать любые сайты на самой популярной CMS - WordPress.

В курсе Вы узнаете абсолютно всё, что необходимо для успешного создания любых сайтов на WordPress, а также увидите пример создания реального блога.

После создания блога он размещается в Интернете, опять же на Ваших глазах. Таким образом, приобретя данный курс, Вы, не обладая никакими знаниями по созданию сайтов, уже сможете их делать, а также выкладывать в Интернет.

Курс очень простой и проходится за один вечер, а знания останутся с Вами навсегда.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Помощь в парсинге сайта...
29.01.2012 15:30:02 Помощь в парсинге сайта... Сообщение #1
Neo.LoL

Neo.LoL

Продвинутый

Продвинутый

Дата регистрации:
15.11.2011 15:22:16

Сообщений: 56

Ребята нужна помощь! Я хочу пропарсить сайт mover.uz, вот php код как делали с youtube.com:

<?php
/*
=====================================================
DleMovie (Module for CMS DataLife Engine)
-----------------------------------------------------
Copyright (c) 2011 Alexander Ahminenko
=====================================================
Данный код защищен авторскими правами
-----------------------------------------------------
E-Mail, ICQ: a.ahminenko@gmail.com, 681216
=====================================================
*/
if ( ! defined ( 'DATALIFEENGINE' ) ) {
die( 'Hacking attempt!' );
}
class DleMovieYoutube {
private $main = false;
private $config = array( );
private $authorized = false;
private $authuser = false;
private $authhash = false;

public function __construct( $main ) {
$this->main = $main;
$this->config = $main->config;
return true;
}
public function getVideoById( $id ) {
$params = array( 'alt' => 'json', 'q' => $id );
$headers = array( 'X-GData-Key' => 'key=' . $this->config['youtube_key'], 'GData-Version' => '2' );
$query = $this->main->curlQuery( 'http://gdata.youtube.com/feeds/api/videos', $params, 'GET', array( ), $headers, $response );
$object = json_decode( $response, true );
$video = $this->videoRowParse( $object['feed']['entry'][0] );
if ( $video !== false ) return $video;
return false;
}
public function getVideosByUserChannel( $user, $start, $limit ) {
$params = array( 'alt' => 'json', 'author' => $user, 'max-results' => $limit, 'start-index' => $start );
$headers = array( 'X-GData-Key' => 'key=' . $this->config['youtube_key'], 'GData-Version' => '2' );
$query = $this->main->curlQuery( 'http://mover.uz/feeds/api/videos', $params, 'GET', array( ), $headers, $response );
$object = json_decode( $response, true );
$i = 1;
if ( count( $object['feed']['entry'] ) > 0 ) {
foreach ( $object['feed']['entry'] as $row ) {
$video = $this->videoRowParse( $row );
if ( $video !== false ) {
$data[$i] = $video;
$i ++;
}
}
} else return false;
return $data;
}
# Channel: most_recent, most_viewed, top_rated, most_discussed, top_favorites, recently_featured, most_responded, most_linked
public function getVideosByStdChannel( $channel, $start, $limit ) {
$params = array( 'alt' => 'json', 'max-results' => $limit, 'start-index' => $start );
$headers = array( 'X-GData-Key' => 'key=' . $this->config['youtube_key'], 'GData-Version' => '2' );
$query = $this->main->curlQuery( 'http://gdata.mytube.uz/feeds/api/standardfeeds/' . $channel, $params, 'GET', array( ), $headers, $response );
$object = json_decode( $response, true );
$i = 1;
if ( count( $object['feed']['entry'] ) > 0 ) {
foreach ( $object['feed']['entry'] as $row ) {
$video = $this->videoRowParse( $row );
if ( $video !== false ) {
$data[$i] = $video;
$i ++;
}
}
} else return false;
return $data;
}
# Category: all, auto, comedy, education, entertainment, film, howto, music, news, people, animals, tech, sports, travel
# Order: relevance (default = NULL), published, viewCount
public function getVideosFromCategory( $category, $query, $order, $start, $limit ) {
$params = array( 'alt' => 'json', 'orderby' => $order, 'max-results' => $limit, 'start-index' => $start );
$headers = array( 'X-GData-Key' => 'key=' . $this->config['youtube_key'], 'GData-Version' => '2' );
$category = ucfirst( strtolower( $category ) );
if ( $category == 'All' or empty( $category ) ) $location = 'http://gdata.youtube.com/feeds/api/videos';
else $location = 'http://gdata.youtube.com/feeds/api/videos/-/{http://gdata.youtube.com/schemas/2007/categories.cat}' . $category;
$query = $this->main->curlQuery( 'http://gdata.youtube.com/feeds/api/standardfeeds/' . $channel, $params, 'GET', array( ), $headers, $response );
$object = json_decode( $response, true );
$i = 1;
if ( count( $object['feed']['entry'] ) > 0 ) {
foreach ( $object['feed']['entry'] as $row ) {
$video = $this->videoRowParse( $row );
if ( $video !== false ) {
$data[$i] = $video;
$i ++;
}
}
} else return false;
return $data;
}
private function videoRowParse( $row ) {
$data = array( );
if ( ! empty( $row['title']['$t'] ) ) {
$data['title'] = trim( $row['title']['$t'] );
$data['descr'] = trim( str_replace( "\n", '<br />', $row['media$group']['media$description']['$t'] ) );
$data['duration'] = trim( $row['media$group']['yt$duration']['seconds'] );
$data['screen']['url'] = trim( $row['media$group']['media$thumbnail'][0]['url'] );
$data['screen']['width'] = trim( $row['media$group']['media$thumbnail'][0]['width'] );
if ( ! empty( $row['media$group']['media$thumbnail'][1]['url'] ) ) {
$data['screen-hq']['url'] = trim( $row['media$group']['media$thumbnail'][1]['url'] );
$data['screen-hq']['width'] = trim( $row['media$group']['media$thumbnail'][1]['width'] );
}
} else return false;
return $data;
}
public function authorization( ) {
$params = array( 'accountType' => 'HOSTED_OR_GOOGLE', 'Email' => $this->config['youtube_email'], 'Passwd' => urlencode( $this->config['youtube_passwd'] ), 'service' => 'youtube', 'source' => 'dlemovie' );
$query = $this->main->curlQuery( 'https://www.google.com/youtube/accounts/ClientLogin', $params, 'POST', array( ), array( 'Content-Type' => 'application/x-www-form-urlencoded' ), $response );
if ( substr_count( $response, 'Auth' ) > 0 and substr_count( $response, 'YouTubeUser' ) > 0 ) {
$response = trim( str_replace( "\n\r", "\n", $response ) );
$authdata = explode( "\n", $response );
$authhash = trim( str_replace( 'Auth=', '', $authdata[0] ) );
$authuser = trim( str_replace( 'YouTubeUser=', '', $authdata[1] ) );
$this->authuser = $authuser;
$this->authhash = $authhash;
$this->authorized = true;
return true;
} else {
$this->authuser = false;
$this->authhash = false;
$this->authorized = false;
return false;
}
}
}
$youtube = new DleMovieYoutube( $dlemovie );
?>

Мне нужно сделать тоже самое только с сайтом mover.uz помогите пожалуйста!
Профиль Ответить
29.01.2012 15:33:56 Помощь в парсинге сайта... Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

И зачем этот код? Он для другого сайта, у Вас он будет совсем другой.
Первым делом определитесь, что Вы хотите парсить. "Парсить весь сайт" - проще всего. Но Вы же хотите спарсить что-то конкретное, например, какие-нибудь новости, статьи. Для этого изучайте структуру HTML-кода данного сайта, смотрите, где требуемые элементы и где они находятся. В соответствии с этим Вы далее пишите парсер, где загружаете полностью всю страницу, а затем выделяете конкретную часть. Вот это выделение делается с помощью регулярных выражений, а сами регулярные выражения Вам и нужно написать в зависимости от того, что Вы хотите и какова структура HTML-кода на сайте.
Профиль Ответить
29.01.2012 15:47:24 Помощь в парсинге сайта... Сообщение #3
Neo.LoL

Neo.LoL

Продвинутый

Продвинутый

Дата регистрации:
15.11.2011 15:22:16

Сообщений: 56

вообщем вот что у меня получилось:
http://minecraft.uz/?do=video&act=upload
Только есть одна ошибка, добавлении видео через Mover.uz не получается... Скажите где нужно конкретно посмотреть?
Профиль Ответить
29.01.2012 15:52:53 Помощь в парсинге сайта... Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Вы хотите, чтобы пользователи загружали видео на Ваш сайт, но при этом оно бы и добавлялось сразу на mover.uz? Если так, то это уже очень сложная работа. Нужно, во-первых, иметь аккаунт на этом сайте, далее нужно через PHP авторизовываться там, затем загружать видео, посылая соответствующие работы. Работы здесь даже специалисту будет очень много. Рекомендую использовать cURL, он хоть немного облегчит задачу.
Профиль Ответить
29.01.2012 15:56:00 Помощь в парсинге сайта... Сообщение #5
Neo.LoL

Neo.LoL

Продвинутый

Продвинутый

Дата регистрации:
15.11.2011 15:22:16

Сообщений: 56

Нет мне нужно, чтобы загружали на Mover.uz, а на сайте просто разполагалось в виде Фрейма и не более
Профиль Ответить
29.01.2012 15:57:59 Помощь в парсинге сайта... Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

А люди должны указывать ссылку на видео? Если так, то здесь парсинг вообще не нужен.
Профиль Ответить
29.01.2012 15:58:38 Помощь в парсинге сайта... Сообщение #7
Neo.LoL

Neo.LoL

Продвинутый

Продвинутый

Дата регистрации:
15.11.2011 15:22:16

Сообщений: 56

Ну да ))) Извените Михаил я просто как обычно усложняю задачу) Скажите как сделать проще?
Профиль Ответить
29.01.2012 16:00:26 Помощь в парсинге сайта... Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Посмотрите на код добавления видео на mover.uz. Возьмите любое видео, там где-то в коде должна быть ссылка на него. И Ваша задача будет просто заменять эту ссылку на ту, что укажет пользователь, а весь остальной код оставлять прежним.
Профиль Ответить
29.01.2012 16:05:56 Помощь в парсинге сайта... Сообщение #9
Neo.LoL

Neo.LoL

Продвинутый

Продвинутый

Дата регистрации:
15.11.2011 15:22:16

Сообщений: 56

Понимаете Михаил, мне нужно чтобы человек добавил видео на Mover.uz, а потом мог добавить его на сайт Minecraft.uz !
Профиль Ответить
29.01.2012 16:08:24 Помощь в парсинге сайта... Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Я так и понял, и как это сделать, уже написал.
Профиль Ответить