""" @author: luojunhui """ import requests import json class AIDTApi(object): """ 自动操作 """ headers = { 'Accept': 'application/json', 'Accept-Language': 'zh,zh-CN;q=0.9', 'Content-Type': 'application/json', 'Origin': 'http://admin.cybertogether.net', 'Proxy-Connection': 'keep-alive', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36' } person_info = { "token": "af54cdc404c3464d896745df389b2dce", "appType": 9, "platform": "pc", "appVersionCode": 1000, "clientTimestamp": 1, "fid": 1, "loginUid": 1, "pageSource": 1, "requestId": 1, "rid": 1, "uid": 1 } @classmethod def getPlanArticleList(cls, page_index, plan_id): """ 获取抓取计划下的文章list :param plan_id: :param page_index: :return: """ url = "http://aigc-api.cybertogether.net/aigc/crawler/content/list" payload = json.dumps({ "params": { "filterItems": [ { "itemName": "sourceCrawlerPlans", "selectValues": [plan_id] } ], "listFieldFormula": [], "pageNum": page_index, "pageSize": 50, "contentModal": 3 }, "baseInfo": cls.person_info }) response = requests.request("POST", url, headers=cls.headers, data=payload) return response.json() @classmethod def updateArticleIntoCrawlerPlan(cls, plan_id, plan_name, plan_tag, url_list): """ 往抓取计划加文章 :return: """ url = "http://aigc-api.cybertogether.net/aigc/crawler/plan/save" payload = json.dumps({ "params": { "contentFilters": [], "accountFilters": [], "filterAccountMatchMode": 1, "filterContentMatchMode": 1, "selectModeValues": [], "searchModeValues": [], "contentModal": 3, "analyze": {}, "crawlerComment": 0, "inputGroup": None, "inputSourceGroups": [], "modePublishTime": [], "planType": 2, "frequencyType": 2, "planTag": plan_tag, "tagPenetrateFlag": 0, "id": plan_id, "name": plan_name, "channel": 5, "crawlerMode": 5, "inputModeValues": url_list, "modePublishTimeStart": None, "modePublishTimeEnd": None, "executeRate": None, "executeDate": None, "executeWindowStart": None, "executeWindowEnd": None, "executeTimeInterval": None, "executeNum": None, "addModal": None, "addChannel": None, "fileUpload": None, "prompt": None, "acelFlag": None, "tasks": [] }, "baseInfo": cls.person_info }) response = requests.request("POST", url, headers=cls.headers, data=payload) print(json.dumps(response.json(), ensure_ascii=False, indent=4))