ria pc game
fle game engine - движок для создания игр
fle game engine - движок для создания игр


Balls and holes PC game / Balls and Holes PC игра
Вакансии
Игродельня
Сегодня
13 ноября 2018
1:23
Вход Регистрация Забыли пароль ?

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3
            &
подробнее...

Теги

создание сайтов, создание игр, дизайн, игры, информатика, уроки photshop, php, c++, музыка, delphi, cms, робосайт

Статьи сайта

megainformatic - Как создать игру ? - Программируем сами - Изучаем и модифицируем пример CreateDevice

megainformatic - Как создать игру ? - Программируем сами - пример CreateDevice страница 2

megainformatic - Как создать игру ? - Программируем сами - пример CreateDevice страница 3

megainformatic - Как создать игру - Vertices - Вершины - страница 1

megainformatic - Как создать игру - пример Matrices

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 2

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 3

megainformatic - Уроки Photoshop - Чудеса - Коллаж от нуля - страница 4

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Уроки Photoshop

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Рисуем волка из мультфильма стр 4

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 2

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 3

megainformatic - Уроки Photoshop - Анимируем волка из мультфильма стр 4

megainformatic - Эмулятор игры Ну, Погоди!

megainformatic - Оплата заказа через Сбербанк

megainformatic - Пример игры с исходным кодом Donuts3D

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - программируем сами

megainformatic - Как создать игру ВЕСЕЛЫЙ БУКВОЕЖКА - создаем игровую оболочку

megainformatic - Открытый Полный Исходный код игры Дорога в Город

megainformatic - Как создать игру - Веселый Единственный Буквоежка - программируем основу будущей игры

megainformatic - Как создать игру - Веселый Единственный Буквоежка - выводим заставку

megainformatic - Как создать игру - Веселый Единственный Буквоежка - игровое меню

megainformatic - Как создать игру - Веселый Единственный Буквоежка - движение и анимация героя

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

Как Создать игру ВЕБ - Веселый Единственный Буквоежка - Программируем сами

megainformatic - Примеры моих работ

megainformatic - Музыкальные темы

megainformatic - Уроки Photoshop - Чудеса

megainformatic - Купить Уроки Photoshop - Чудеса

megainformatic - Онлайн Обучение, Репетитор

megainformatic - Уроки Photoshop - Рисуем и Анимируем

megainformatic - Уроки Photoshop - Рисуем и Анимируем - Урок 1 - Старт

megainformatic - Уроки Photoshop - Рисуем и Анимируем на AllSoft.ru

megainformatic - DirectX 9c - Изучаем пример MultAnimation

megainformatic - megainformatic cms Система Управления Контентом

megainformatic - Темы для WordPress

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - Макет дизайна Вашего сайта

скачать megainformatic cms

megainformatic - Итоги 2010 года

megainformatic - Что нужно для создания собственного сайта ?

megainformatic - как создать инсталлятор для собственной cms

megainformatic - Новости - страница 2

Нововведения в megainformatic cms

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

megainformatic - Выгрузка файла на сайт

Парсинг сайтов - введение



[уроки php]  [регулярные выражения] 



Что такое парсинг сайтов и для чего он нужен ?

На самом деле под словом парсинг - parsing - подразумевается синтаксический разбор каких-либо текстовых данных.

На первом шаге происходит поиск информации на некотором сайте, а на втором - анализ собранной информации и извлечение из неё каких-либо интересующих нас данных.

Типичный пример парсера - это парсер какого-либо форума или интернет-магазина.

Цель такого парсера - отслеживать изменения на сайте и сохранять их где-то у себя.



Как выполнить парсинг сайта используя php ?

Кликнув по ссылке -

Пример 1

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

Вот какой php код при этом используется -

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Simple site parser by megainformatic</title>
</head>
<body>

<?php


/* на данной странице используются и некоторые html-теги чтобы не было нарушений кодировки */

/* для начала нужно определить сайт, который мы будем парсить - сайт донор */

$site_donor_url = 'http://doska.obninsk.ru/'; /* данный сайт взят без какой-либо цели практически наугад просто для примера */

/* далее выполняем загрузку страницы с этого сайта в переменную скрипта */

/* сделать это можно самыми различными способами, самый простой - через открытие файла */

$site_page_strings_array = file($site_donor_url);

/* получив данные с сайта пока просто выведем их */

echo '<pre>';
var_dump($site_page_strings_array);
echo '</pre>';

?>
</body>
</html>



Итак, создав у себя и запустив данный скрипт вы увидите то, что распечатает функция var_dump - т. е. набор строк в виде массива, которые были загружены со страницы указанного сайта.

И сразу же обратим внимание на 2 нюанса, которые очень часто сбивают с толку, особенно если Вы впервые осваиваете php и технологию парсинга сайтов.



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

1) Время отклика - обращение к страницам некоторых сайтов может быть достаточно долгим и вызывать задержку в работе скрипта - от нескольких секунд до минуты и более.

Это связано с качеством связи по каналу через который обращается скрипт к сайту, а также с быстродействием самого сайта к которому происходит обращение.

В принципе может возникнуть ситуация что скрипт не будет выполнен вообще - или ему не хватит отведенного на выполнение времени - обычно 30 секунд, или сайт так и не откроется - т. е. сайт в данный момент может быть очень загружен или не отвечает вообще.

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

2) Сайт-донор не открывается через скрипт парсера.

Это может быть связано с 1 причиной, а может быть так, что на сайте доноре включены программы фильтрации IP адресов - обычно это делается для защиты от DDoS атак, но могут быть и другие причины (например защита от злобных спаммеров :)))) )

В любом случае вам придется предпринять некоторые меры, чтобы Ваш скрипт изменил свой IP с которого происходят обращения (обычно это можно сделать через PROXY-сервера анонимного доступа) и смог обращаться к сайту.

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

Чтобы ваш скрипт смог дождаться отклика сайта-донора в течение хотя бы разумного времени - порядка нескольких десятков секунд - можно в файле php.ini задать лимит на время выполнения скриптов равным более 30 секунд.

max_execution_time = 60

В самом скрипте для этого можно использовать функцию - set_time_limit()

Но следует учесть что скрипт не должен работать в БЕЗОПАСНОМ РЕЖИМЕ safe_mode. Есть и другой момент - в php начиная с версии 5.4.0 возможность использования БЕЗОПАСНОГО РЕЖИМА признана устаревшей.

Так что как видите всё более чем запутанно и должно решаться в каждом конкретном случае.

Чтобы выполнение скрипта не зависело от времени обращения и ожиданию отклика от сайта донора можно использовать сокеты. Для этого в php есть функция fsockopen. И я уже рассматривал работу с ней в статье - Работа с сокетами fsockopen из php

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

При наличии второй проблемы - когда сайт-донор вообще не открывается через скрипт парсера, в php можно использовать расширение cURL.

Для работы php через proxy нужно:

Для Unix систем необходимо собрать PHP с опцией --with-curl[=DIR], где DIR - имя директории, содержащей поддиректории lib и include. Директория "include" должна содержать поддиректорию "curl" с файлами easy.h и curl.h. Директория "lib" должна содержать файл libcurl.a.

Для Windows систем необходимо установить PHP с поддержкой данного модуля, а потом скопировать файлы libeay32.dll и ssleay32.dll из директории DLL Win32 дистрибутива PHP в директорию SYSTEM (Нпример C:\WINNT\SYSTEM32 или C:\WINDOWS\SYSTEM).

Что такое libcurl Libcurl – это библиотека функций, которая позволяет взаимодействовать движок php с удалёнными серверами, по различным протоколам. Пример получения контента с удалённой страницы через PROXY:

<?php
//создаём функцию
function get_proxy($url, $proxy) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}

//вызываем функцию
$proxy = '112.25.12.37:80';
$content = get_proxy('http://300kbit.ru/',$proxy);
echo $content;
?>

Идём дальше.

Обработка данных полученных с сайта-донора т. е. непосредственно парсинг сайта на php.

Для облегчения выполнения задачи парсинга создано готовое решение - 5. Парсинг или обработка входных данных с получением заданного результата.

megainformatic live chat
Начать беседу
X
 

Оставленные комментарии



fle game engine - движок для создания игр
fle game engine - движок для создания игр


Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
megainformatic Размещение баннерной рекламы у нас
















    
Время загрузки: 0,9337