<MyRusakov.ru />

Создание и продвижение лендинга под ключ

Создание и продвижение лендинга под ключ

Данный курс научит Вас создавать профессиональные лендинги на любую тематику с нуля и под ключ. Помимо теории Вы так же своими глазами будете видеть, как создаётся лендинг: заказывается дизайн, верстаются страницы, программируется клиентская часть и Admin-панель, а после лендинг размещается в Интернете. Так же Вы узнаете, как продвигаются лендинги и, самое главное, Вы увидите, как это делается на примере созданного лендинга до первых клиентов.

И, наконец, к курсу идут 4 очень полезных и актуальных Бонуса для лендингов: "Подключение онлайн-консультанта", "Система уведомлений по SMS", "Автоматизация управления Яндекс.Директом" и "Продажа товаров с AliExpress.com".

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

Подписавшись по 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

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