Python SDK
अवलोकन
आधिकारिक Scrapeless पायथन SDK ब्राउज़र स्वचालन, स्क्रैपिंग, क्रॉलिंग, प्रॉक्सीज़, खोज परिणामों और AI चैट निष्कर्षण तक पहुंच प्रदान करता है। यह गाइड SDK रिपॉजिटरी के README का अनुसरण करती है, जिसमें चलाए जा सकने वाले उदाहरण और कॉन्फ़िगरेशन विवरण शामिल हैं।
आवश्यकताएँ
पैकेज मेटाडेटा में Python 3.8 या उसके बाद का संस्करण घोषित किया गया है। ब्राउज़र एकीकरण में Playwright या Pyppeteer के संस्करण के आधार पर नवीनतम पायथन संस्करण की आवश्यकता हो सकती है।
SDK निर्भरताओं को अन्य प्रोजेक्ट्स से अलग रखने के लिए virtual environment का उपयोग करें।
इंस्टॉलेशन
pip install scrapelessrepository 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 Browser | client.browser | रिमोट browser sessions बनाएँ और प्रबंधित करें। |
| ब्राउज़र प्रोफाइल | client.profiles | sessions के बीच browser डेटा बनाए रखें। |
| Scraping API | client.scraping | website actors का उपयोग करके संरचित डेटा निकालें। |
| Web Unlocker | client.universal | सुरक्षित websites से सामग्री प्राप्त करें। |
| Crawl | client.scraping_crawl | किसी पेज को scrape करें या किसी website को crawl करें। |
| Google Search API | client.deepserp | search engine परिणाम निकालें। |
| Proxies | client.proxies | proxy connection URLs जनरेट करें। |
| AI Scraper | client.ai_scraper | AI 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_KEY | dashboard से आवश्यक API key। |
SCRAPELESS_BASE_API_URL | https://api.scrapeless.com |
SCRAPELESS_BROWSER_API_URL | https://browser.scrapeless.com |
SCRAPELESS_CRAWL_API_URL | https://api.scrapeless.com |
सहायता
- SDK source और README
- किसी समस्या की रिपोर्ट करें
- Scrapeless दस्तावेज़
- Discord community से जुड़ें
- Email सहायता
SDK को MIT लाइसेंस के तहत जारी किया गया है।