|
@@ -1,3 +1,4 @@
|
|
|
+import logging
|
|
|
import time
|
|
|
from collections.abc import Mapping
|
|
|
from typing import Any
|
|
@@ -5,6 +6,7 @@ from typing import Any
|
|
|
import requests
|
|
|
from requests.exceptions import HTTPError
|
|
|
|
|
|
+logger = logging.getLogger(__name__)
|
|
|
|
|
|
class FirecrawlApp:
|
|
|
def __init__(self, api_key: str | None = None, base_url: str | None = None):
|
|
@@ -48,6 +50,7 @@ class FirecrawlApp:
|
|
|
headers = self._prepare_headers()
|
|
|
data = {'url': url, **kwargs}
|
|
|
response = self._request('POST', endpoint, data, headers)
|
|
|
+ logger.debug(f"Sent request to {endpoint=} body={data}")
|
|
|
if response is None:
|
|
|
raise HTTPError("Failed to scrape URL after multiple retries")
|
|
|
return response
|
|
@@ -57,6 +60,7 @@ class FirecrawlApp:
|
|
|
headers = self._prepare_headers()
|
|
|
data = {'query': query, **kwargs}
|
|
|
response = self._request('POST', endpoint, data, headers)
|
|
|
+ logger.debug(f"Sent request to {endpoint=} body={data}")
|
|
|
if response is None:
|
|
|
raise HTTPError("Failed to perform search after multiple retries")
|
|
|
return response
|
|
@@ -66,8 +70,9 @@ class FirecrawlApp:
|
|
|
):
|
|
|
endpoint = f'{self.base_url}/v0/crawl'
|
|
|
headers = self._prepare_headers(idempotency_key)
|
|
|
- data = {'url': url, **kwargs}
|
|
|
+ data = {'url': url, **kwargs['params']}
|
|
|
response = self._request('POST', endpoint, data, headers)
|
|
|
+ logger.debug(f"Sent request to {endpoint=} body={data}")
|
|
|
if response is None:
|
|
|
raise HTTPError("Failed to initiate crawl after multiple retries")
|
|
|
job_id: str = response['jobId']
|