CAPSOLVER
ब्लॉग
Web Scraping के लिए curl_cffi का उपयोग कैसे करें

वेब स्क्रैपिंग के लिए curl_cffi का उपयोग कैसे करें

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

17-Sep-2024

Curl_cffi क्या है?

Curl_cffi एक पायथन लाइब्रेरी है जो CFFI (C फॉरेन फंक्शन इंटरफेस) का उपयोग करके libcurl लाइब्रेरी के लिए कुशल, कम-स्तरीय बाइंडिंग प्रदान करता है। यह आपको curl कमांड-लाइन टूल के समान उच्च प्रदर्शन और बारीक-दांतेदार नियंत्रण के साथ HTTP अनुरोध करने की अनुमति देता है, लेकिन पायथन के भीतर। यह उन वेब स्क्रैपिंग कार्यों के लिए विशेष रूप से उपयोगी है जिनके लिए गति और उन्नत कॉन्फ़िगरेशन की आवश्यकता होती है।

विशेषताएं:

  • उच्च प्रदर्शन: तेज़ HTTP अनुरोधों के लिए libcurl की गति का लाभ उठाता है।
  • थ्रेड सुरक्षा: मल्टी-थ्रेडेड अनुप्रयोगों में उपयोग करने के लिए सुरक्षित।
  • उन्नत सुविधाएँ: प्रॉक्सी, SSL/TLS कॉन्फ़िगरेशन, कस्टम हेडर और बहुत कुछ का समर्थन करता है।
  • कम-स्तरीय नियंत्रण: अनुरोध और प्रतिक्रिया प्रक्रिया पर विस्तृत नियंत्रण प्रदान करता है।

पूर्वापेक्षाएँ

curl_cffi का उपयोग करने में डाइव करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित स्थापित हैं:

उबंटू/डेबियन सिस्टम पर, आपको libcurl विकास हेडर स्थापित करने की आवश्यकता हो सकती है:

bash Copy
sudo apt-get install libcurl4-openssl-dev

Curl_cffi से शुरुआत करना

स्थापना

pip का उपयोग करके curl_cffi स्थापित करें:

bash Copy
pip install curl_cffi

मूल उदाहरण: GET अनुरोध करना

यहां एक GET अनुरोध करने के लिए curl_cffi का उपयोग करने का एक मूल उदाहरण दिया गया है:

python Copy
from curl_cffi import requests

# GET अनुरोध करें
response = requests.get('https://httpbin.org/get')

# स्थिति कोड जांचें
print(f'स्थिति कोड: {response.status_code}')

# प्रतिक्रिया सामग्री प्रिंट करें
print('प्रतिक्रिया बॉडी:', response.text)

वेब स्क्रैपिंग उदाहरण: किसी वेबसाइट से उद्धरण स्क्रैप करना

आइए जानकारी निकालने के लिए किसी वेबपेज को स्क्रैप करें। हम सभी उद्धरणों के साथ-साथ उनके लेखकों को प्राप्त करने के लिए Quotes to Scrape का उपयोग करेंगे।

python Copy
from curl_cffi import requests
from bs4 import BeautifulSoup

# स्क्रैप करने के लिए URL
url = 'http://quotes.toscrape.com/'

# GET अनुरोध करें
response = requests.get(url)

# BeautifulSoup का उपयोग करके HTML सामग्री को पार्स करें
soup = BeautifulSoup(response.content, 'html.parser')

# सभी उद्धरण तत्व खोजें
quotes = soup.find_all('div', class_='quote')

# उद्धरण और लेखकों को निकालें और प्रदर्शित करें
for quote in quotes:
    text = quote.find('span', class_='text').get_text()
    author = quote.find('small', class_='author').get_text()
    print(f'{text} — {author}')

आउटपुट:

Copy
“जिस दुनिया को हमने बनाया है, वह हमारे सोचने की एक प्रक्रिया है। इसे हमारे सोचने को बदले बिना नहीं बदला जा सकता।” — अल्बर्ट आइंस्टीन
“यह हमारे चुनाव हैं, हैरी, जो दिखाते हैं कि हम वास्तव में क्या हैं, हमारी क्षमताओं से कहीं अधिक।” — जे.के. राउलिंग
... (अतिरिक्त उद्धरण)

कैप्चा को कैपसॉल्वर और कर्ल_सीएफएफआई के साथ हैंडल करना

इस खंड में, हम अन्वेषण करेंगे कि कैप्चा को बायपास करने के लिए CapSolver को curl_cffi के साथ कैसे एकीकृत किया जाए। कैपसॉल्वर एक बाहरी सेवा है जो विभिन्न प्रकार के कैप्चा को हल करने में मदद करती है, जिसमें ReCaptcha V2 और captcha शामिल हैं, जो आमतौर पर वेबसाइटों पर उपयोग किए जाते हैं।

हम CapSolver का उपयोग करके ReCaptcha V2 को हल करने का प्रदर्शन करेंगे और फिर उस पेज की सामग्री को स्क्रैप करेंगे जिसके लिए पहले कैप्चा को हल करने की आवश्यकता होती है।

उदाहरण: कैपसॉल्वर और कर्ल_सीएफएफआई के साथ ReCaptcha V2 को हल करना

python Copy
import os
import capsolver
from curl_cffi import requests

# संवेदनशील जानकारी के लिए पर्यावरण चर का उपयोग करने पर विचार करें
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Your CapSolver API Key")
PAGE_URL = os.getenv("PAGE_URL", "https://example.com")  # कैप्चा वाले पेज का URL
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "SITE_KEY")        # कैप्चा के लिए साइट की

def solve_recaptcha_v2(url, site_key):
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": url,
        "websiteKey": site_key,
        "proxy": PROXY
    })
    return solution['solution']['gRecaptchaResponse']

def main():
    print("ReCaptcha V2 को हल करना...")
    captcha_solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("कैप्चा हल हो गया!")

if __name__ == "__main__":
    main()

नोट: PAGE_URL को कैप्चा वाले पेज के URL से बदलें और PAGE_SITE_KEY को कैप्चा की साइट की से बदलें। आप साइट की को पेज के HTML स्रोत में पा सकते हैं, आमतौर पर कैप्चा विजेट वाले <div> के भीतर।

CapSolver के साथ captcha को हल करना

यदि आपको ReCaptcha के बजाय captcha को हल करने की आवश्यकता है, तो capsolver.solve() फ़ंक्शन में कार्य प्रकार बदलें:

python Copy
def solve_captcha(url, site_key):
    solution = capsolver.solve({
        "type": "captchaTaskProxyless",
        "websiteURL": url,
        "websiteKey": site_key
    })
    return solution['solution']['gRecaptchaResponse']

Curl_cffi के साथ प्रॉक्सी को हैंडल करना

यदि आपको अपने अनुरोधों को किसी प्रॉक्सी के माध्यम से रूट करने की आवश्यकता है, तो curl_cffi इसे सीधा बनाता है:

python Copy
from curl_cffi import requests

# प्रॉक्सी सेटिंग्स को परिभाषित करें
proxies = {
    'http': 'http://username:password@proxyserver:port',
    'https': 'https://username:password@proxyserver:port',
}

# प्रॉक्सी का उपयोग करके GET अनुरोध करें
response = requests.get('https://httpbin.org/ip', proxies=proxies)

# प्रतिक्रिया सामग्री प्रिंट करें
print('प्रतिक्रिया बॉडी:', response.text)

Curl_cffi के साथ कुकीज़ को हैंडल करना

आप पायथन के http.cookiejar मॉड्यूल से CookieJar का उपयोग करके कुकीज़ का प्रबंधन कर सकते हैं:

python Copy
from curl_cffi import requests
from http.cookiejar import CookieJar

# CookieJar इंस्टेंस बनाएँ
cookie_jar = CookieJar()

# कुकी जार के साथ एक सत्र बनाएँ
session = requests.Session()
session.cookies = cookie_jar

# GET अनुरोध करें
response = session.get('https://httpbin.org/cookies/set?name=value')

# कुकीज़ प्रदर्शित करें
for cookie in session.cookies:
    print(f'{cookie.name}: {cookie.value}')

उन्नत उपयोग: कस्टम हेडर और POST अनुरोध

आप curl_cffi के साथ कस्टम हेडर भेज सकते हैं और POST अनुरोध कर सकते हैं:

python Copy
from curl_cffi import requests

# कस्टम हेडर को परिभाषित करें
headers = {
    'User-Agent': 'Mozilla/5.0 (compatible)',
    'Accept-Language': 'en-US,en;q=0.5',
}

# POST अनुरोध में भेजने के लिए डेटा
data = {
    'username': 'testuser',
    'password': 'testpass',
}

# POST अनुरोध करें
response = requests.post('https://httpbin.org/post', headers=headers, data=data)

# JSON प्रतिक्रिया प्रिंट करें
print('प्रतिक्रिया JSON:', response.json())

बोनस कोड

CapSolver पर शीर्ष कैप्चा समाधानों के लिए अपना बोनस कोड का दावा करें: scrape. इसे रिडीम करने के बाद, आपको प्रत्येक रिचार्ज के बाद अतिरिक्त 5% बोनस मिलेगा, असीमित बार।

निष्कर्ष

curl_cffi के साथ, आप अपने HTTP अनुरोधों पर विस्तृत नियंत्रण रखते हुए कुशलतापूर्वक वेब स्क्रैपिंग कार्य कर सकते हैं। इसे कैपसॉल्वर के साथ एकीकृत करने से आप ReCaptcha V2 और captcha जैसे कैप्चा को बायपास कर सकते हैं, जो उन सामग्रियों तक पहुंचने में सक्षम बनाता है जिन्हें अन्यथा स्क्रैप करना मुश्किल होगा।

अपनी विशिष्ट स्क्रैपिंग आवश्यकताओं के अनुरूप इन उदाहरणों का विस्तार करने में संकोच न करें। हमेशा उन वेबसाइटों की सेवा की शर्तों का सम्मान करना याद रखें जिन्हें आप स्क्रैप करते हैं और कानूनी दिशानिर्देशों का पालन करते हैं।

खुश स्क्रैपिंग!

अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।

अधिक

वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड
वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड

2025 में CapSolver के साथ प्रभावी ढंग से इमेज CAPTCHA को हल करना सीखें

Logo of CapSolver

Rajinder Singh

23-Jan-2025

reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका
reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका

reCAPTCHA इमेज ग्रिड से जूझ रहे हैं? जानें कि कैसे Capsolver का AI-संचालित पहचान 'सभी का चयन करें' चुनौतियों को तुरंत हल करता है। API एकीकरण, ब्राउज़र एक्सटेंशन और 95%+ सटीकता के साथ CAPTCHA को स्वचालित करने के लिए प्रो टिप्स जानें

Logo of CapSolver

Rajinder Singh

23-Jan-2025

2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें
2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें

2025 में निर्बाध वेब स्क्रैपिंग के लिए Cloudflare Challenge और Turnstile को कैसे बायपास करें, यह जानें। Capsolver इंटीग्रेशन, TLS फ़िंगरप्रिंटिंग टिप्स और CAPTCHA नर्क से बचने के लिए सामान्य त्रुटियों के समाधान खोजें। समय बचाएँ और अपने डेटा निष्कर्षण को स्केल करें।

Logo of CapSolver

Emma Foster

23-Jan-2025

एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें
एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें

Capsolver के एक्सटेंशन से Cloudflare Turnstile CAPTCHA को कैसे बायपास करें, यह जानें। Chrome, Firefox और Puppeteer जैसे ऑटोमेशन टूल्स के लिए इंस्टॉलेशन गाइड।

Logo of CapSolver

Ethan Collins

23-Jan-2025

reCAPTCHA साइट कुंजी क्या है और इसे कैसे ढूंढें?
reCAPTCHA Site Key क्या है और यह कैसे प्राप्त करें?

reCAPTCHA Site Key को मैन्युअली या Capsolver जैसे टूल्स से कैसे ढूँढें, सामान्य समस्याओं को कैसे ठीक करें और डेवलपर्स और वेब स्क्रैपिंग के लिए CAPTCHA सॉल्विंग को कैसे ऑटोमेट करें, यह जानें।

Logo of CapSolver

Anh Tuan

23-Jan-2025

2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर
2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर

2025 के शीर्ष 5 CAPTCHA सॉल्वरों का अन्वेषण करें, जिसमें तेज़ reCAPTCHA पहचान के लिए AI-संचालित CapSolver भी शामिल है। यहाँ गति, मूल्य और सटीकता की तुलना करें

Logo of CapSolver

Anh Tuan

23-Jan-2025