banner

Скрещиваем A-poster и R-dorgen

Многие те, кто используют a-poster, наверняка знают о возможности использования своих функций. В данном примере я рассмотрю использование функции, которую предоставляет сам автор и передачу ей данных с помощью плагина для R-dorgen. Так как функция берет файлы со ссылками прямо из своей папки, то приходится заливать эти файлы туда. Конечно, эту функцию для удобства можно переписать, но я этого делать не стал. Для этого я написал простой php обработчик, который заливает файлы в папку с функцией. Описание параметров задания и саму функцию можно взять у автора на форуме, после покупки.
Плагин для R-dorgen:

class aposter(object):
    def run(self,domain,keywords,keyurl,pages):
        from grab import Grab
        g = Grab()
        # Заливка файла со ссылками на сервер с a-poster
        data = open("data/lnk/{0}.txt".format(domain)).read().decode("utf-8")
        g.setup(url='http://domain.ru/upl.php',
                post={'name':domain+'.txt','data':data,'pw':'xek'   },
        timeout=150
                )
        g.request()
        # Передача задания для a-poster
        g.setup(url='http://domain.ru/a-poster/external.pl',
                payload="""<password></password> 
<base>useit.txt</base> 
<tasktype>spam</tasktype> 
<spamtype>myfunc</spamtype> 
<myfuncbulk>1</myfuncbulk> 
<myfuncfile>func.pl</myfuncfile> 
<checkpost>0</checkpost> 
<checkpostminpr>0</checkpostminpr> 
<checkpostmaxlinks>0</checkpostmaxlinks> 
<saveparsed>0</saveparsed> 
<readonlyheader>1</readonlyheader> 
<savegood>0</savegood> 
<saveforcheck>0</saveforcheck> 
<proxy>noproxy</proxy> 
<log>no</log> 
<start>0</start> 
<end>0</end>  
<name>TestName</name>  
<mail></mail>  
<url></url>  
<comment>{0}.txt;3;4</comment> 
<quantification>1</quantification>""".format(domain))
        g.request()
        # Вывод результата
        print g.response_body

PHP заливщик файлов(upl.php):

< ?php
if ($_POST['pw']=='xek') {
$data = $_POST['data'];
$name = $_POST['name'];
$fp = fopen("a-poster/my_functions/{$name}",'w');
fwrite($fp,$data);
fclose($fp);
}
?>

Всё что требуется потом: залить php обработчик,правильно указать настройки задания для a-poster и закинуть плагин в папку с доргеном.
В результате весь процесс получается автоматизированным, ручной работы почти нет, кроме добавления заданий в пакетку доргена :)