Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг страницы 
:(
    Опции темы
Micher
Дата 19.11.2007, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

Репутация: нет
Всего: нет



В общем, сразу прошу не ругать, может я плохо искал, но не нашёл. Задача такая: хочется написать скриптик, который заходил бы на определённую страницу, брал оттуда допустим предложение с определённым словом и выводил его(хочу с мобилы получать только нужную мне информацию). Подскажите как
PM MAIL   Вверх
WolfON
Дата 19.11.2007, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: 1
Всего: 8



curl + функции работы со строками, например регулярки
PM MAIL ICQ   Вверх
Platon
Дата 19.11.2007, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: нет
Всего: 40



А вот код в догонку:

Код

$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, $url);
curl_setopt($cUrl, CURLOPT_PORT, 80);
curl_setopt($cUrl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($cUrl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)");
curl_setopt($cUrl, CURLOPT_TIMEOUT, 10);
$text = curl_exec($cUrl);


PM MAIL ICQ   Вверх
CyClon
Дата 20.11.2007, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Код
<?php

// getFile.function.php by SpeedHack (CyClon)

function getFile($url)
{
    $purl = parse_url($url);
    $port = (!isset($purl['port'])) ? 80 : $purl['port'];
    if (isset($purl['host']) && $socket = fsockopen($purl['host'], $port, $errno, $errstr, 30)) {
        if (isset($pust['path'])) {
            $headers = "GET " . $purl['path'] . " HTTP/1.0\r\n";
        } else {
            $headers = "GET / HTTP/1.0\r\n";
        }
        $headers .= "Accept: */*\r\n";
        $headers .= "Accept-Language: ru\r\n";
        $headers .= "Referer: SH-Bot\r\n";
        $headers .= "Host: " . $purl['host'] . "\r\n";
        $headers .= "User-Agent: SH-Bot\r\n";
        $headers .= "Connection: Close\r\n\r\n";
        fputs($socket, $headers);
        if (substr(fgets($socket), 9, 3) != 200) {
            fclose($socket);
            return false;
        }
        $file = '';
        while (!feof($socket)) {
            $file .= fgets($socket);
        }
        fclose($socket);
        return substr($file, strpos($file, "\r\n\r\n") + 4);
    } else {
        return false;
    }
}

if ($file = getFile($_GET['url'], 1)) {
    // Тут идут регулярки
    echo $file;
}

?>


Вот писал как-то для себя. Мне удобнее так работать, чем через курл, тем более последний не везде присутствует smile


--------------------
user posted image
PM   Вверх
Micher
Дата 20.11.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 13.1.2006
Где: г. Ижевск

Репутация: нет
Всего: нет



Всем спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.