Модуль управления A-Parser через API для Python
Совместимость
Модуль совместим с Python версии 2.7.*
и >=3.8
Установка
pip install a-parser
Использование
Подключение модуля и проверка его работы методом ping
.
from a_parser import AParser
aparser = AParser('http://127.0.0.1:9091/API', 'password')
print(aparser.ping())
Результат:
{ 'success': 1, 'data': 'pong' }
Добавление задания через addTask
. Метод waitForTask()
подробнее разобран ниже в разделе Методы.
taskId = aparser.addTask(
[['SE::Google', 'default',
{
'type': 'override',
'id': 'formatresult',
'value': '$serp.format("$anchor\\n")'
}, {
'type': 'override',
'id': 'pagecount',
'value': 1
}, {
'type': 'override',
'id': 'useproxy',
'value': False
}
]],
'default',
'text',
'diamond',
resultsFormat= '$p1.preset',
uniqueQueries= False,
queryFormat= ['$query'],
resultsUnique= 'no',
resultsSaveTo= 'file',
resultsFileName= '$datefile.format().txt',
doLog= 'no',
keepUnique= 'No',
moreOptions= False,
resultsPrepend= '',
resultsAppend= '',
configOverrides= [],
queryBuilders= []
)['data']
aparser.waitForTask(taskId)
print(aparser.getTaskResultsFile(taskId))
Результат:
{'success': 1, 'data': 'http://127.0.0.1:9091/downloadResults?fileName=Jul-29_17-33-37.txt&token=utmxidbc'}
Добавление задания через oneRequest
.
print(aparser.oneRequest('SE::Yahoo::Suggest', 'default', 'spider'))
Результат:
{
"success" : 1,
"data" : {
"logs" : [
[
0,
1596033005,
"Parser SE::Yahoo::Suggest::0 parse query spider"
],
[
0,
1596033005,
"Use proxy http://51.255.55.144:28466"
],
[
0,
1596033006,
"GET(1): http://sugg.search.yahoo.com/gossip-us-fp/?nresults=10&output=yjson&version=&command=spider - 200 OK (0.3 KB)"
],
[
3,
1596033006,
1
],
[
0,
1596033006,
"Thread complete work"
]
],
"resultString" : "spider - spider:\nspider solitaire\nspiderman\nspider bites\nspider bite pictures\nspider solitaire two suits\nspider plant\nspider-man\nspider solitaire free\nspider bites pictures and symptoms\nspider monkey\n"
}
}
Методы
В модуле реализованы все методы, доступные к использованию в API A-Parser. Их список вы можете найти здесь
waitForTask
Метод waitForTask()
позволяет дождаться выполнения задания. В качестве аргументов следует указывать id задания и интервал в секундах (опционально). По умолчанию интервал проверки состояния задания установлен в 5 секунд. Как только статус задания будет равен completed
, метод вернет это значение