Python SDK

अवलोकन

आधिकारिक Scrapeless पायथन SDK ब्राउज़र स्वचालन, स्क्रैपिंग, क्रॉलिंग, प्रॉक्सीज़, खोज परिणामों और AI चैट निष्कर्षण तक पहुंच प्रदान करता है। यह गाइड SDK रिपॉजिटरी के README का अनुसरण करती है, जिसमें चलाए जा सकने वाले उदाहरण और कॉन्फ़िगरेशन विवरण शामिल हैं।

आवश्यकताएँ

पैकेज मेटाडेटा में Python 3.8 या उसके बाद का संस्करण घोषित किया गया है। ब्राउज़र एकीकरण में Playwright या Pyppeteer के संस्करण के आधार पर नवीनतम पायथन संस्करण की आवश्यकता हो सकती है।

SDK निर्भरताओं को अन्य प्रोजेक्ट्स से अलग रखने के लिए virtual environment का उपयोग करें।

इंस्टॉलेशन

pip install scrapeless

repository environment variables लोड करने के लिए python-dotenv का उपयोग करती है, लेकिन इसका वर्तमान package metadata उस निर्भरता को सूचीबद्ध नहीं करता। यदि आवश्यक हो तो इसे SDK के साथ इंस्टॉल करें:

pip install python-dotenv

संबंधित browser integration का उपयोग करते समय pyppeteer या playwright को अलग से इंस्टॉल करें।

प्रमाणीकरण / API Key

Scrapeless dashboard में लॉग इन करें और एक API key बनाएँ। उदाहरण चलाने से पहले इसे export करें:

export SCRAPELESS_API_KEY="YOUR_API_KEY"

अपनी API key को source control में commit करने के बजाय अपने environment या secret manager में रखें।

Scrapeless() पढ़ता है SCRAPELESS_API_KEY। आप ग्राहक कॉन्फ़िगरेशन शब्दकोश में api_key प्रविष्टि भी पास कर सकते हैं।

त्वरित प्रारंभ

इसे quickstart.py के रूप में सहेजें और अपनी API key सेट करने के बाद python quickstart.py चलाएँ।

from scrapeless import Scrapeless
from scrapeless.types import UniversalScrapingRequest
 
client = Scrapeless()
result = client.universal.scrape(UniversalScrapingRequest(
    actor='unlocker.webunlocker',
    input={'url': 'https://example.com', 'method': 'GET', 'redirect': False}
))
print(result)

उत्पाद कवरेज मैट्रिक्स

उत्पादSDK सेवाकवरेज
Agent Browserclient.browserरिमोट browser sessions बनाएँ और प्रबंधित करें।
ब्राउज़र प्रोफाइलclient.profilessessions के बीच browser डेटा बनाए रखें।
Scraping APIclient.scrapingwebsite actors का उपयोग करके संरचित डेटा निकालें।
Web Unlockerclient.universalसुरक्षित websites से सामग्री प्राप्त करें।
Crawlclient.scraping_crawlकिसी पेज को scrape करें या किसी website को crawl करें।
Google Search APIclient.deepserpsearch engine परिणाम निकालें।
Proxiesclient.proxiesproxy connection URLs जनरेट करें।
AI Scraperclient.ai_scraperAI chat कार्य बनाएँ और उनकी स्थिति व परिणाम प्राप्त करें।

उपयोग के उदाहरण

ब्राउज़र

pip install pyppeteerके साथ ब्राउज़र एकीकरण स्थापित करें।

Playwright और Pyppeteer frameworks का समर्थन करने वाला उन्नत browser session प्रबंधन, कॉन्फ़िगर करने योग्य anti-detection क्षमताओं (जैसे fingerprint spoofing, CAPTCHA solving) और विस्तार योग्य automation workflows के साथ:

from scrapeless import Scrapeless
from scrapeless.types import ICreateBrowser
import asyncio
import pyppeteer
 
client = Scrapeless()
 
 
async def example():
    # Create a browser session
    config = ICreateBrowser(
        session_name='sdk_test',
        session_ttl=180,
        proxy_country='US',
        session_recording=True
    )
    session = client.browser.create(config).__dict__
    browser_ws_endpoint = session['browser_ws_endpoint']
    print('Browser WebSocket endpoint created:', browser_ws_endpoint)
 
    # Connect to browser using pyppeteer
    browser = await pyppeteer.connect({'browserWSEndpoint': browser_ws_endpoint})
    try:
        page = await browser.newPage()
        await page.goto('https://example.com')
        print(await page.title())
    finally:
        await browser.close()
 
 
asyncio.run(example())

ब्राउज़र प्रोफाइल

persistent sessions के लिए browser profiles प्रबंधित करें।

from scrapeless import Scrapeless
 
client = Scrapeless()
profile = client.profiles.create('My Profile')
print(profile)

Scraping API

websites (जैसे e-commerce, travel platforms) के लिए सीधे डेटा निष्कर्षण API। पहले से बने connectors के साथ संरचित उत्पाद जानकारी, मूल्य निर्धारण और समीक्षाएँ प्राप्त करें:

from scrapeless import Scrapeless
from scrapeless.types import ScrapingTaskRequest
 
client = Scrapeless()
request = ScrapingTaskRequest(
    actor='scraper.google.search',
    input={'q': 'nike site:www.nike.com'}
)
result = client.scraping.scrape(request=request)
print(result)

Web Unlocker

Web Unlocker का उपयोग करके वेबसाइटों से डेटा निकालें ( client.universal के रूप में उजागर)।

from scrapeless import Scrapeless
from scrapeless.types import UniversalScrapingRequest
 
client = Scrapeless()
result = client.universal.scrape(UniversalScrapingRequest(
    actor='unlocker.webunlocker',
    input={'url': 'https://example.com', 'method': 'GET', 'redirect': False}
))
print(result)

Crawl

एकल पेजों से डेटा निकालें या पूरे डोमेन को traverse करें, Markdown, JSON, HTML, screenshots, और links सहित प्रारूपों में export करें।

from scrapeless import Scrapeless
 
client = Scrapeless()
 
result = client.scraping_crawl.scrape_url("https://example.com")
print(result)

प्रॉक्सी

अपने gateway और session settings का उपयोग करके एक proxy URL जनरेट करें।

from scrapeless import Scrapeless
from scrapeless.types import ICreateProxy
 
client = Scrapeless()
proxy_url = client.proxies.proxy(ICreateProxy(
    country='US',
    session_duration=30,
    session_id=client.proxies.generate_session_id(),
    gateway='your-proxy-gateway:port'
))
print(proxy_url)

AI Scraper

brand mentions की निगरानी करने, उत्तरों की तुलना करने, और नवीनतम मॉडलों से competitive intelligence का विश्लेषण करने के लिए बड़े पैमाने पर AI chat सामग्री निकालें। एक ही integration के माध्यम से URLs, prompts, Markdown उत्तर, citations, और बहुत कुछ प्राप्त करें।

समर्थित actor में scraper.chatgpt, scraper.perplexity, scraper.copilot, scraper.gemini, scraper.aimode, scraper.overview, scraper.grok, और scraper.alexaशामिल हैं। input JSON actor पर निर्भर करता है; विस्तृत पैरामीटर के लिए AI Scraper दस्तावेजीकरण देखें। वैकल्पिक webhook JSON में एक कॉलबैक urlहोता है।

from scrapeless import Scrapeless
from scrapeless.types import AIScraperTaskRequest
 
 
def main():
    client = Scrapeless()  # Uses SCRAPELESS_API_KEY
    task = client.ai_scraper.create_task(AIScraperTaskRequest(
        actor='scraper.chatgpt',
        input={
            'prompt': 'Most reliable proxy service for data extraction',
            'country': 'US',
            'web_search': True,
        },
        # Optional: webhook={'url': 'https://your-webhook.example.com'},
    ))
    print('Created task:', task)
 
    result = client.ai_scraper.get_task_result(task['task_id'])
    print('Task status and result:', result)
    # If status is 'running', call get_task_result again later.
    # If status is 'failed', message contains the failure reason.
 
 
if __name__ == '__main__':
    main()

दोनों विधियां API JSON को अपरिवर्तित लौटाती हैं। निर्माण task_id, status, और जब उपलब्ध हो, तो task_resultलौटाता है। परिणाम पुनर्प्राप्ति status, task_result उपलब्ध होने पर, और विफलता पर message लौटाती है। स्थिति success, failed, या runningहै; SDK स्वचालित रूप से पोल नहीं करता है।

create_task एक AIScraperTaskRequest या एक dictionary स्वीकार करता है; dictionaries अतिरिक्त API पैरामीटर की भी अनुमति देती हैं। Responses dictionaries होती हैं।

Google Search API

from scrapeless import Scrapeless
from scrapeless.types import ScrapingTaskRequest
 
client = Scrapeless()
result = client.deepserp.scrape(ScrapingTaskRequest(
    actor='scraper.google.search',
    input={'q': 'nike site:www.nike.com'}
))
print(result)

अधिक पूर्ण एकीकरण के लिए, रिपॉजिटरी की उदाहरण निर्देशिका ब्राउज़ करें।

त्रुटि प्रबंधन

API request विफलताओं के लिए ScrapelessError को catch करें। task विफलताओं को संभालने के लिए किसी AI Scraper response की status को अलग से जाँचें।

from scrapeless import Scrapeless, ScrapelessError
from scrapeless.types import UniversalScrapingRequest
 
client = Scrapeless()
try:
    result = client.universal.scrape(UniversalScrapingRequest(
        actor='unlocker.webunlocker',
        input={'url': 'https://example.com', 'method': 'GET'}
    ))
    print(result)
except ScrapelessError as error:
    print(f'Scrapeless API error: {error}')

वर्तमान Python exception error message को उजागर करता है; यह status_code attribute परिभाषित नहीं करता।

कॉन्फ़िगरेशन / एनवायरनमेंट वेरिएबल

API key आवश्यक है। Endpoint overrides वैकल्पिक हैं; तालिका उनके डिफ़ॉल्ट दिखाती है।

configuration को override करने के लिए Scrapeless को एक dictionary पास करें:

import os
from scrapeless import Scrapeless
 
client = Scrapeless({
    'api_key': os.environ['SCRAPELESS_API_KEY'],
    'timeout': 30000,  # Request timeout in milliseconds
    'base_api_url': 'https://api.scrapeless.com',
    'browser_api_url': 'https://browser.scrapeless.com',
    'scraping_crawl_api_url': 'https://api.scrapeless.com',
})

स्पष्ट configuration environment variables पर प्राथमिकता लेती है। डिफ़ॉल्ट request timeout 30,000 मिलीसेकंड है।

एनवायरनमेंट वेरिएबलउद्देश्य / डिफ़ॉल्ट
SCRAPELESS_API_KEYdashboard से आवश्यक API key।
SCRAPELESS_BASE_API_URLhttps://api.scrapeless.com
SCRAPELESS_BROWSER_API_URLhttps://browser.scrapeless.com
SCRAPELESS_CRAWL_API_URLhttps://api.scrapeless.com

सहायता

SDK को MIT लाइसेंस के तहत जारी किया गया है।

संबंधित प्रोजेक्ट्स