07.14Скрещиваем 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 и закинуть плагин в папку с доргеном.
В результате весь процесс получается автоматизированным, ручной работы почти нет, кроме добавления заданий в пакетку доргена

