11# Client implementation goes here
2- from typing import Any , Dict , Optional , Callable
2+ import uuid as _uuid
3+ from typing import Any , Callable , Dict , Optional
4+ from urllib .parse import urlparse
35
46import requests
57import urllib3
68from pydantic import BaseModel
79from requests .exceptions import RequestException
8- from urllib .parse import urlparse
9- import uuid as _uuid
1010
1111from scrapegraph_py .config import API_BASE_URL , DEFAULT_HEADERS
1212from scrapegraph_py .exceptions import APIError
1717)
1818from scrapegraph_py .models .crawl import CrawlRequest , GetCrawlRequest
1919from scrapegraph_py .models .feedback import FeedbackRequest
20- from scrapegraph_py .models .scrape import GetScrapeRequest , ScrapeRequest
2120from scrapegraph_py .models .markdownify import GetMarkdownifyRequest , MarkdownifyRequest
21+ from scrapegraph_py .models .scrape import GetScrapeRequest , ScrapeRequest
2222from scrapegraph_py .models .searchscraper import (
2323 GetSearchScraperRequest ,
2424 SearchScraperRequest ,
@@ -255,13 +255,13 @@ def new_id(prefix: str) -> str:
255255 # Generic fallback
256256 return {"status" : "mock" , "url" : url , "method" : method , "kwargs" : kwargs }
257257
258- def markdownify (self , website_url : str , headers : Optional [dict [str , str ]] = None ):
258+ def markdownify (self , website_url : str , headers : Optional [dict [str , str ]] = None , mock : bool = False ):
259259 """Send a markdownify request"""
260260 logger .info (f"🔍 Starting markdownify request for { website_url } " )
261261 if headers :
262262 logger .debug ("🔧 Using custom headers" )
263263
264- request = MarkdownifyRequest (website_url = website_url , headers = headers )
264+ request = MarkdownifyRequest (website_url = website_url , headers = headers , mock = mock )
265265 logger .debug ("✅ Request validation passed" )
266266
267267 result = self ._make_request (
@@ -287,6 +287,7 @@ def scrape(
287287 website_url : str ,
288288 render_heavy_js : bool = False ,
289289 headers : Optional [dict [str , str ]] = None ,
290+ mock :bool = False ,
290291 ):
291292 """Send a scrape request to get HTML content from a website
292293
@@ -304,6 +305,7 @@ def scrape(
304305 website_url = website_url ,
305306 render_heavy_js = render_heavy_js ,
306307 headers = headers ,
308+ mock = mock
307309 )
308310 logger .debug ("✅ Request validation passed" )
309311
@@ -335,6 +337,8 @@ def smartscraper(
335337 output_schema : Optional [BaseModel ] = None ,
336338 number_of_scrolls : Optional [int ] = None ,
337339 total_pages : Optional [int ] = None ,
340+ mock :bool = False ,
341+ plain_text :bool = False
338342 ):
339343 """Send a smartscraper request with optional pagination support and cookies"""
340344 logger .info ("🔍 Starting smartscraper request" )
@@ -361,6 +365,8 @@ def smartscraper(
361365 output_schema = output_schema ,
362366 number_of_scrolls = number_of_scrolls ,
363367 total_pages = total_pages ,
368+ mock = mock ,
369+ plain_text = plain_text ,
364370 )
365371 logger .debug ("✅ Request validation passed" )
366372
@@ -420,6 +426,7 @@ def searchscraper(
420426 num_results : Optional [int ] = 3 ,
421427 headers : Optional [dict [str , str ]] = None ,
422428 output_schema : Optional [BaseModel ] = None ,
429+ mock : bool = False
423430 ):
424431 """Send a searchscraper request
425432
@@ -443,6 +450,7 @@ def searchscraper(
443450 num_results = num_results ,
444451 headers = headers ,
445452 output_schema = output_schema ,
453+ mock = mock
446454 )
447455 logger .debug ("✅ Request validation passed" )
448456
@@ -547,6 +555,7 @@ def agenticscraper(
547555 user_prompt : Optional [str ] = None ,
548556 output_schema : Optional [Dict [str , Any ]] = None ,
549557 ai_extraction : bool = False ,
558+ mock : bool = False ,
550559 ):
551560 """Send an agentic scraper request to perform automated actions on a webpage
552561
@@ -573,6 +582,7 @@ def agenticscraper(
573582 user_prompt = user_prompt ,
574583 output_schema = output_schema ,
575584 ai_extraction = ai_extraction ,
585+ mock = mock
576586 )
577587 logger .debug ("✅ Request validation passed" )
578588
0 commit comments