#201 2011.08.28 06:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2276
Карма: 19
Профиль

Re: Общие вопросы по PHP

Это короче надо искать другие варианты соединения?

Код:

1
2
3
4
5
Внимание:
curl_setopt_array(): CURLOPT_FOLLOWLOCATION
не может быть активирована, когда safe_mode включен
или open_basedir установлен в
/usr/home/tipsun/htdocs/cinema/index.php

Отредактировано tipsun (2011.08.28 06:18)

Неактивен

#202 2011.08.28 22:29

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2276
Карма: 19
Профиль

Re: Общие вопросы по PHP

Хотя можно и другим способом эту переадресацию поймать: get_headers('url', 1);.
Да и вообще file_get_contents(); обойтись. Думал как получше замаскироваться, чтоб граб долго работал.
- - - -
Эта переадресация 1 раз встечается (в месяц: /2011-08/).

Отредактировано tipsun (2011.08.28 22:45)

Неактивен

#203 2011.09.01 11:31

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6583
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

tipsun, скорее всего там не совсем корректно переадресация сделана. в соответствии с протоколом HTTP 1.1, путь всегда должен быть абсолютным. т.е. не /index.php, а http://wapinet.ru/index.php
curl работает только со 2 вариантом. в 90% случаев, проблема именно в этом.

Неактивен

#204 2011.09.01 13:46

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2276
Карма: 19
Профиль

Re: Общие вопросы по PHP

Спс.
Я там смотрел, полный адрес идет, ну во всяком случае в Chrome в загловках. (этот Chrome не поймешь, он сам разметку исправляет, лишние теги убирает, добавляет итп)

Отредактировано tipsun (2011.09.01 13:46)

Неактивен

#205 2011.09.01 13:54

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6583
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

смотри в фаербаге или драгонфлае

Неактивен

#206 2011.09.01 15:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2276
Карма: 19
Профиль

Re: Общие вопросы по PHP

Ок, спс.
Я там по-другому сделал. Переадресация встречается 1 раз.
Эту переадресацию ловлю при помощи get_headers().
Далее цикл по находжению ссылок, в котором попутно идет запись нужной инфы в базу.
Подключаюсь при помощи cURL.
Что плохо, более подробная инфа лежит в ссылке (как бы подробнее), и надо получается каждый раз на ссылку заходить за более подробной инфой. Но зато 1 раз.
Можно после сканирования сделать, я думаю.
Это еще предстоит написать.

Ну короче вот сие бот-недоразумение...

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
//////////
//Автор: TiPsun
// ICQ : 34142776
//////////
require_once 'db.php';
function scanerBot($url=null) {
        
        GLOBAL $db;
        GLOBAL $n;
        
        $agent 'Nokia6070/2.0 (04.00) Profile/MIDP-2.0 Configuration/CLDC-1.1';
        
        $net curl_init();
        curl_setopt_array($net, array(
        CURLOPT_URL            => $url,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_USERAGENT      => $agent,
        CURLOPT_AUTOREFERER    => 1));
        $out curl_exec($net);
        curl_close($net);
        
        $html mb_convert_encoding($out'utf-8''windows-1251');
        preg_match_all('/movie\/(\d+)\/.{2}([^\<]+)/'$html$matches);
        
        $date baseName($url);
        
        $db->beginTransaction();
        foreach ($matches[1] as $key => $value) {
            
            $query $db->prepare("INSERT INTO `films` SET `id`=?, `date`=?, `name`=?;");
            $query->execute(array($value$date$matches[2][$key]));
        }
        $db->commit();
        
        $n += 1;
        
        if (preg_match('/(http:\/\/m\.kinopoisk\.ru\/premier\/\d{4}-\d{2}\/).{2}&rarr;/'$html$match)) {
            
            scanerBot($match[1]);
        }
        else {
            
            exit('Отсканировано '.$n.' страниц!');
        }
    }
//////////
$url 'http://m.kinopoisk.ru/premier/';
$url get_headers($url1);
$n 0;
scanerBot($url['Location']);
//////////
?>

Можно и свою дату ставить. Год-Месяц и подключиться...
Ну чем для каждого такую работу выполнять, лучше наверно все у себя сохранить.

Отредактировано tipsun (2011.09.01 16:07)

Неактивен

#207 2011.09.02 13:56

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6583
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

baseName - исправь на basename, php хоть и регистронезависим в названиях функций, но есть посылки для изменения такого поведения к более жесткому наименованию функций, т.е. регистрозависимому.
а так норм. для таких скриптов - главное чтобы они просто выполняли свою задачу.

Неактивен

#208 2011.09.02 18:31

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2276
Карма: 19
Профиль

Re: Общие вопросы по PHP

=0 неужели, наконец норм, Ура! smile

Отредактировано tipsun (2011.09.02 18:31)

Неактивен

#209 2011.09.03 16:36

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: Общие вопросы по PHP

Можно ли хранить конфиденциальные данные в сессиях?

Неактивен

#210 2011.09.03 16:38

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6583
Карма: 107
Профиль Веб-сайт

Re: Общие вопросы по PHP

да

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.035 s