|
5 | 5 |
|
6 | 6 |
|
7 | 7 | class ScrapingBeeClient: |
8 | | - api_url = 'https://app.scrapingbee.com/api/v1/' |
| 8 | + api_url = "https://app.scrapingbee.com/api/v1/" |
9 | 9 |
|
10 | 10 | def __init__(self, api_key: str): |
11 | 11 | self.api_key = api_key |
12 | 12 |
|
13 | | - def request(self, method: str, url: str, params: dict = None, data: dict = None, |
14 | | - headers: dict = None, cookies: dict = None, **kwargs |
15 | | - ) -> Response: |
| 13 | + def request( |
| 14 | + self, |
| 15 | + method: str, |
| 16 | + url: str, |
| 17 | + params: dict = None, |
| 18 | + data: dict = None, |
| 19 | + json: dict = None, |
| 20 | + headers: dict = None, |
| 21 | + cookies: dict = None, |
| 22 | + **kwargs |
| 23 | + ) -> Response: |
16 | 24 | if not params: |
17 | 25 | params = {} |
18 | 26 |
|
19 | 27 | # Process headers and set forward_headers |
20 | 28 | if headers: |
21 | 29 | headers = process_headers(headers) |
22 | | - params['forward_headers'] = True |
| 30 | + params["forward_headers"] = True |
23 | 31 | else: |
24 | 32 | headers = {} |
25 | 33 | headers.update(default_headers) |
26 | 34 |
|
27 | 35 | # Add cookies to params |
28 | 36 | if cookies: |
29 | 37 | # ScrapingBee reads cookies from url parameters |
30 | | - params['cookies'] = cookies |
| 38 | + params["cookies"] = cookies |
31 | 39 |
|
32 | 40 | # Get ScrapingBee API URL |
33 | | - spb_url = get_scrapingbee_url( |
34 | | - self.api_url, self.api_key, url, params) |
| 41 | + spb_url = get_scrapingbee_url(self.api_url, self.api_key, url, params) |
35 | 42 |
|
| 43 | + if not data and json is not None: |
| 44 | + return request(method, spb_url, json=json, headers=headers, **kwargs) |
36 | 45 | return request(method, spb_url, data=data, headers=headers, **kwargs) |
37 | 46 |
|
38 | | - def get(self, url: str, params: dict = None, headers: dict = None, cookies: dict = None, |
39 | | - **kwargs |
40 | | - ) -> Response: |
41 | | - return self.request('GET', url, params=params, headers=headers, cookies=cookies, **kwargs) |
42 | | - |
43 | | - def post(self, url: str, params: dict = None, data: dict = None, headers: dict = None, |
44 | | - cookies: dict = None, **kwargs |
45 | | - ) -> Response: |
46 | | - return self.request('POST', url, params=params, data=data, headers=headers, |
47 | | - cookies=cookies, **kwargs) |
| 47 | + def get(self, url: str, params: dict = None, headers: dict = None, cookies: dict = None, **kwargs) -> Response: |
| 48 | + return self.request("GET", url, params=params, headers=headers, cookies=cookies, **kwargs) |
| 49 | + |
| 50 | + def post( |
| 51 | + self, |
| 52 | + url: str, |
| 53 | + params: dict = None, |
| 54 | + data: dict = None, |
| 55 | + json: dict = None, |
| 56 | + headers: dict = None, |
| 57 | + cookies: dict = None, |
| 58 | + **kwargs |
| 59 | + ) -> Response: |
| 60 | + return self.request( |
| 61 | + "POST", url, params=params, data=data, json=json, headers=headers, cookies=cookies, **kwargs |
| 62 | + ) |
0 commit comments