Апалка объявлений на кубань.ру

Всем колхозникам посвящается.

Попросили меня как-то подать объявления на форум местный, но темы там быстро уходят в /dev/null и их постоянно надо апать, чтобы у людей мелькало перед глазами.

Руками заходить каждые несколько минут и писать «up!» — это не для нас, ведь?

Отличный повод заюзать DudeCurl, подумал я :) (дуд, с тебя 1000$, постпроплачен ^_^)

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

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
// подключаем дуд курл
include_once(dirname(__FILE__) . '/DudeCurl.php');
// считываем ID-ы топиков
$topics = file(dirname(__FILE__) . '/topics.txt');

// ваши авторизационные данные
$login = 'login';
$password = 'password';

// урл страницы форма (надо, чтобы вытащить некий «kodun» для авторизации)
$url = 'http://forums.kuban.ru/forum/index.php';
// урл авторизации
$login_url = 'http://forums.kuban.ru/forum/login_new.php';
// урл постинга
$post_url = 'http://forums.kuban.ru/forum/posting_new.php?page=1';

// пошли по всем топикам
foreach ($topics as $topic_id) {
    $topic_id = intval(trim($topic_id));

    // если еще не авторизовались, то делаем это
    if (!isset($curl)) {
        $curl = new DudeCurl($url);
        $html = $curl->exec();
   
        preg_match('#kodun" type="hidden" value="(.*?)"#i', $html, $m);
        if (!isset($m[1])) { die('can\'t find kodun :('); }
        $kodun = $m[1];
       
        $auth = array("username"=>$login,"password"=>$password, "kodun"=>$kodun);
   
        $curl->init($login_url);
        $curl->post = $auth;
        $curl->exec();
    }
   
    // постим сообщение
    $data = array("visible_mail"=>'OFF', "message"=>'up!', "kodun"=>$kodun, "add_post"=>$topic_id);
    $curl->init($post_url);
    $curl->post = $data;
    $curl->exec();
   
    // эту тему мы апнули
    print 'http://forums.kuban.ru/forum/viewtopic_new.php?t=' . $topic_id . '<br />';
   
    // т.к. на этом мегафоруме стоит антифлуд, то мы немного посмпим
    sleep(rand(35,40));
}

Исходнички + DudeCurl 0.2.5 Beta

Всем кубаньрушникам привет! :)


11.09.2009

Тэги: , , ,

Комментарии12 Есть что сказать?