mirror of
https://github.com/NaiboWang/EasySpider.git
synced 2026-06-07 22:49:03 +08:00
Update Sample Task Instruction
This commit is contained in:
42
Examples/Sample Tasks with Python/service_invoke.py
Normal file
42
Examples/Sample Tasks with Python/service_invoke.py
Normal file
@@ -0,0 +1,42 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from base64 import encode
|
||||
import json
|
||||
import os
|
||||
|
||||
|
||||
def queryService(id):
|
||||
with open("tasks/%d.json" % id, "r", encoding='utf-8') as f:
|
||||
service = json.loads(f.read())
|
||||
return service
|
||||
|
||||
|
||||
def invokeService(id, data):
|
||||
service = queryService(id)
|
||||
try:
|
||||
service["links"] = data["urlList_0"]
|
||||
except:
|
||||
pass
|
||||
for key, value in data.items():
|
||||
for i in range(len(service["inputParameters"])):
|
||||
if key == service["inputParameters"][i]["name"]: # 能调用
|
||||
nodeId = int(service["inputParameters"][i]["nodeId"])
|
||||
node = service["graph"][nodeId]
|
||||
if node["option"] == 1:
|
||||
node["parameters"]["links"] = value
|
||||
elif node["option"] == 4:
|
||||
node["parameters"]["value"] = value
|
||||
elif node["option"] == 8 and node["parameters"]["loopType"] == 0:
|
||||
# print("loopType 0", value)
|
||||
node["parameters"]["exitCount"] = int(value)
|
||||
# print(node)
|
||||
elif node["option"] == 8:
|
||||
node["parameters"]["textList"] = value
|
||||
break
|
||||
|
||||
count = len(os.listdir("tasks")) + 1
|
||||
service["id"] = count # 修改id
|
||||
print(count)
|
||||
with open("execution_instances/%d.json" % count, "w", encoding='utf-8') as f:
|
||||
s = json.dumps(service, ensure_ascii=False)
|
||||
f.write(s)
|
||||
return count
|
||||
Reference in New Issue
Block a user