@@ -6,7 +6,7 @@ def __init__(self, api_key):
66 self .api_key = api_key
77 self .base_url = 'https://publisher.scrappey.com/api/v1'
88
9- def send_request (self , endpoint , method , data = None ):
9+ def send_request (self , endpoint , data = None ):
1010 url = f'{ self .base_url } ?key={ self .api_key } '
1111
1212 headers = {
@@ -19,39 +19,25 @@ def send_request(self, endpoint, method, data=None):
1919 }
2020
2121 try :
22- response = requests .request ( method , url , headers = headers , json = payload )
22+ response = requests .post ( url , headers = headers , json = payload )
2323 response .raise_for_status ()
2424 return response .json ()
2525 except requests .exceptions .RequestException as error :
2626 raise error
2727
28- def create_session (self , session_id = None , proxy = None ):
29- return self .send_request ('sessions.create' , 'POST' , { 'session' : session_id , 'proxy' : proxy } )
28+ def create_session (self , data ):
29+ return self .send_request (endpoint = 'sessions.create' , data = data )
3030
31- def destroy_session (self , session_id ):
32- if session_id is None :
33- raise ValueError ('sessionId parameter is required.' )
31+ def destroy_session (self , session ):
32+ if session is None :
33+ raise ValueError ('session parameter is required.' )
34+ return self .send_request (endpoint = 'sessions.destroy' , data = {'session' : session })
3435
35- return self .send_request ('sessions.destroy' , 'POST' , {'session' : session_id })
36+ def request (self , data ):
37+ if data is None :
38+ raise ValueError ('data parameter is required.' )
39+
40+ if data ['cmd' ] is None :
41+ raise ValueError ('data.cmd parameter is required.' )
3642
37- def get_request (self , url , session_id = None , cookiejar = None , proxy = None ):
38- if url is None :
39- raise ValueError ('url parameter is required.' )
40-
41- if session_id is None and cookiejar is None and proxy is None :
42- raise ValueError ('At least one of sessionId, cookiejar, or proxy parameters must be provided.' )
43-
44- return self .send_request ('request.get' , 'POST' , {'url' : url , 'session' : session_id , 'cookiejar' : cookiejar , 'proxy' : proxy })
45-
46- def post_request (self , url , post_data , session_id = None , cookiejar = None , proxy = None ):
47- is_form_data = isinstance (post_data , str ) and '=' in post_data
48-
49- if not is_form_data :
50- try :
51- request_data = urllib .parse .urlencode (post_data )
52- except ValueError :
53- raise ValueError ('Invalid postData format. It must be in application/x-www-form-urlencoded format.' )
54- else :
55- request_data = post_data
56-
57- return self .send_request ('request.post' , 'POST' , {'url' : url , 'postData' : request_data , 'session' : session_id , 'cookiejar' : cookiejar , 'proxy' : proxy })
43+ return self .send_request (endpoint = data ['cmd' ], data = data )
0 commit comments