Ya.Islands How-To.
Download slides to get all beatiful animations work (and screencast ;)).
Чтобы полностью погрузиться, рекомендую скачать презентацию. Заработает анимация и скринкаст в конце.
Serena Excellence Club Executive PresentationTrey Scarpa
Successfully spearheaded company-wide executive events and programs, including global sales recognition program (President's club), global sales kick-off program (SKO), and employee service awards.
Ya.Islands How-To.
Download slides to get all beatiful animations work (and screencast ;)).
Чтобы полностью погрузиться, рекомендую скачать презентацию. Заработает анимация и скринкаст в конце.
Serena Excellence Club Executive PresentationTrey Scarpa
Successfully spearheaded company-wide executive events and programs, including global sales recognition program (President's club), global sales kick-off program (SKO), and employee service awards.
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
Лекция Александра Смирнова в Школе вебмастеров: «Основные принципы индексирования сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как поиск находит страницу, её путь до появления в поиске
Поисковые системы постоянно собирают информацию о страницах в интернете. Как же это происходит и как добавить страницы своего сайта в поиск? Проверка индексирования сайта.
Как управлять роботом (зеркала, sitemap, robots.txt)
Множество сайтов в интернете доступны сразу по нескольким адресам. Как указать поисковому роботу на основной и как скорректировать индексирование?
Особенности индексирования
Современные сайты используют различные технологии в своей работе. Рассмотрим, как настроить их правильно и сделать контент доступным для робота.
Как улучшить индексирование (дубли, HTTP-ответ, удаление из поиска)
В поиск попадают различные страницы, которые известны роботу. Какие нужны, а какие нет? Как повлиять на их индексирование?
На вебинаре мы рассмотрели самые распространенные ошибки которые НЕ нужно делать при переезде сайта. Разобрали какие действия и в какой последовательности следует выполнять, чтобы сохранить наработанный авторитет сайта в глазах поисковых систем.
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
Лекция Александра Смирнова в Школе вебмастеров: «Основные принципы индексирования сайта».
https://academy.yandex.ru/events/webmasters_school/yawebm2015/
Как поиск находит страницу, её путь до появления в поиске
Поисковые системы постоянно собирают информацию о страницах в интернете. Как же это происходит и как добавить страницы своего сайта в поиск? Проверка индексирования сайта.
Как управлять роботом (зеркала, sitemap, robots.txt)
Множество сайтов в интернете доступны сразу по нескольким адресам. Как указать поисковому роботу на основной и как скорректировать индексирование?
Особенности индексирования
Современные сайты используют различные технологии в своей работе. Рассмотрим, как настроить их правильно и сделать контент доступным для робота.
Как улучшить индексирование (дубли, HTTP-ответ, удаление из поиска)
В поиск попадают различные страницы, которые известны роботу. Какие нужны, а какие нет? Как повлиять на их индексирование?
На вебинаре мы рассмотрели самые распространенные ошибки которые НЕ нужно делать при переезде сайта. Разобрали какие действия и в какой последовательности следует выполнять, чтобы сохранить наработанный авторитет сайта в глазах поисковых систем.
SaaS "в облаках". День Открытых Дверей 2012index.art
— Каков объем рынка SaaS в России/Каков объем рынка софта в России/Каков объем рынка SaaS в мире?
— Какие предпосылки для бурного развития рынка SaaS называют телекомы и крупнейщие разработчики ПО?
— Что можно возразить им и почему данный рынок не растет так быстро как бы им хотелось?
— В чем главная проблема отсутствия бурного развития рынка SaaS?
— В чем заключается основная фишка, притягательность и будущее SaaS?
Битва за миллисекунды: практика ускорения веб сайтовindex.art
Как сделать сайт отзывчивее для пользователей, как ускорить появление контента на сайте чтобы пользователь не уходил с сайта, так и не дождавшись его появления.
Вычислительная погрешность в бухгалтерском учетеindex.art
При проведении любых финансовых расчетов необходимо учитывать, что конечный результат не может содержать больше, чем два десятичных знака после запятой, так как большинство мировых валют имеют разменную монету, соотносящуюся с основной валютой как 100:1. Это простое и разумное правило приводит к довольно неожиданным результатам при формировании финансовых документов. Формулы, которые являются тождественными при точных вычислениях, дают отличные результаты при вычислениях с ограниченной точностью. Это необходимо учитывать, выбирая ту или иную формулу для расчетов.
В докладе рассматривались два блока вопросов:
— выделение НДС, вычисление цены и суммы с НДС;
— конвертирование валют.
3. www.thmemgal Company Logo
Автоматическая загрузка данных на сайт
Для чего это необходимо:
сайт
Более глобальные задачи:
Головная
организация
HTML
поставщик
поставщик
поставщик
1С
4. www.thmemgal Company Logo
Скачивание каталога продукции
в html-формате
Получение данных с указанного URL
Извлечение содержимого из полученной страницы
Дополнительная обработка и вывод на сайте
1.
2.
3.
5. www.thmemgal Company Logo
Скачивание каталога продукции
в html-формате
1. Получение данных с указанного URL
Для этого в РНР существует несколько возможностей:
fopen
file_get_contents
Библиотека cURL
Соединение через
сокеты
fsockopen
$fp = fsockopen($host, 80, $errno, $errstr, 20);
Открываем сокет
Log
$out = "GET $path HTTP/1.0rn";
$out .= "Host: $hostrn";
$out .= "User-Agent: Opera/8.01 (J2ME/MIDP; ".
"Opera Mini/2.0.4509/1716; ru; U; ssr)rn";
$out .= "Cache-Control: no-cachern";
$out .= "Connection: Closernrn";
Строка заголовка для пакета
Сервер
fwrite($fp, $out);
Пакет
$body = "";
while (!feof($fp))
$body .= fgets($fp);
Ответ
6. www.thmemgal Company Logo
Скачивание каталога продукции
в html-формате
2. Извлечение содержимого из страницы
…
<div class="content">
Мама мыла раму
</div>
<div class="footer">
…
Регулярные
выражения
Мама мыла раму
7. www.thmemgal Company Logo
Скачивание каталога продукции
в html-формате
3. Обработка и отображение на сайте
1. Поиск ссылок и формирование массива
function parseLinks( $data ) {
$pattern = "/<as+[^>]*hrefs*=s*["']?([^"'>]+)["'][^>]*>(?:(?U)(.*)</a>)/i";
$a = preg_replace_callback($pattern, array(&$this, 'linkRender'), $data );
}
function linkRender( $matches ) {
if ( strpos($matches[1], 'http:/') || strpos($matches[1], 'ftp:/')) return;
$link_key = 'http://'.$this->domain.$matches[1];
if ( strpos($matches[1], '/products') && !array_key_exists ($link_key, $this->links) ){
$this->links[ $link_key ] = '-1';
}
}
2. Исключение стилей и классов
3. Абсолютные ссылки и абсолютные пути для картинок
4. Сохранение обработанного текста во временное хранилище
9. www.thmemgal Company Logo
Обновление каталогов продукции
от разных поставщиков
О проекте
поставщик поставщик поставщик
Покупатель
заказ
бронь аналог
запрос
10. www.thmemgal Company Logo
Обновление каталогов продукции
от разных поставщиков
Способы загрузки данных
Поставщики передают свои данные разными способами:
HTTP c Basic-авторизацией
FTP
$out = "GET $uri HTTP/1.1rn";
$out .= "Host: ".$host."rn";
$out .= "Connection: Closern";
$out .= 'Authorization: Basic '.base64_encode($user.':'.$pwd)."rn";
$sock = @fsockopen($host, 80, $errno, $errstr, 10);
fwrite($sock, $out);
$conn_id = ftp_connect($server_);
Устанавливаем соединение
Log
$result = ftp_login($conn_id, $login_, $pass_);
Передаем логин и пароль
ftp_get($conn_id, $local_file, $server_file, FTP_ASCII);
Скачиваем server_file и сохраняем в local_file
11. www.thmemgal Company Logo
Обновление каталогов продукции
от разных поставщиков
Архивы с данными
ZIP-файл
PCLZip
XML-данные
$archive = new PclZip('archive.zip');
$list = $archive->extract(PCLZIP_OPT_BY_NAME, "data/archive.xml",
PCLZIP_OPT_EXTRACT_AS_STRING);
12. www.thmemgal Company Logo
Обновление каталогов продукции
от разных поставщиков
Варианты обработки XML
В PHP существует несколько встроенных вариантов обработки XML -
SimpleXML, DOM, SAX.
SimpleXML
$xml = simplexml_load_file($file);
$arr = $xml->Xpath(”/document/products/*”);
Array – массив объектов
Примеры использования Xpath
$result = $xml->Xpath(”//*”); - найдет вообще все объекты;
$result = $xml->Xpath(”//div”); - найдет все объекты div;
$result = $xml->Xpath(”//div[@id='head']”); - найдет объект div c id = head
foreach($arr as $k=>$atr)
$goods[]=Array(
“articul”=>$atr->articul,
”name”=>$atr->name,
“price”=>$atr->price,
“descr”=>$atr->description);