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

Rajinder Singh
Deep Learning Researcher
17-Sep-2024

Curl_cffi क्या है?
Curl_cffi एक पायथन लाइब्रेरी है जो CFFI (C फॉरेन फंक्शन इंटरफेस) का उपयोग करके libcurl लाइब्रेरी के लिए कुशल, कम-स्तरीय बाइंडिंग प्रदान करता है। यह आपको curl कमांड-लाइन टूल के समान उच्च प्रदर्शन और बारीक-दांतेदार नियंत्रण के साथ HTTP अनुरोध करने की अनुमति देता है, लेकिन पायथन के भीतर। यह उन वेब स्क्रैपिंग कार्यों के लिए विशेष रूप से उपयोगी है जिनके लिए गति और उन्नत कॉन्फ़िगरेशन की आवश्यकता होती है।
विशेषताएं:
- उच्च प्रदर्शन: तेज़ HTTP अनुरोधों के लिए
libcurlकी गति का लाभ उठाता है। - थ्रेड सुरक्षा: मल्टी-थ्रेडेड अनुप्रयोगों में उपयोग करने के लिए सुरक्षित।
- उन्नत सुविधाएँ: प्रॉक्सी, SSL/TLS कॉन्फ़िगरेशन, कस्टम हेडर और बहुत कुछ का समर्थन करता है।
- कम-स्तरीय नियंत्रण: अनुरोध और प्रतिक्रिया प्रक्रिया पर विस्तृत नियंत्रण प्रदान करता है।
पूर्वापेक्षाएँ
curl_cffi का उपयोग करने में डाइव करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित स्थापित हैं:
- Python 3.6 या उच्चतर
- आपके सिस्टम पर स्थापित libcurl
- पायथन पैकेज स्थापित करने के लिए pip
उबंटू/डेबियन सिस्टम पर, आपको libcurl विकास हेडर स्थापित करने की आवश्यकता हो सकती है:
bash
sudo apt-get install libcurl4-openssl-dev
Curl_cffi से शुरुआत करना
स्थापना
pip का उपयोग करके curl_cffi स्थापित करें:
bash
pip install curl_cffi
मूल उदाहरण: GET अनुरोध करना
यहां एक GET अनुरोध करने के लिए curl_cffi का उपयोग करने का एक मूल उदाहरण दिया गया है:
python
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
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}')
आउटपुट:
“जिस दुनिया को हमने बनाया है, वह हमारे सोचने की एक प्रक्रिया है। इसे हमारे सोचने को बदले बिना नहीं बदला जा सकता।” — अल्बर्ट आइंस्टीन
“यह हमारे चुनाव हैं, हैरी, जो दिखाते हैं कि हम वास्तव में क्या हैं, हमारी क्षमताओं से कहीं अधिक।” — जे.के. राउलिंग
... (अतिरिक्त उद्धरण)
कैप्चा को कैपसॉल्वर और कर्ल_सीएफएफआई के साथ हैंडल करना
इस खंड में, हम अन्वेषण करेंगे कि कैप्चा को बायपास करने के लिए CapSolver को curl_cffi के साथ कैसे एकीकृत किया जाए। कैपसॉल्वर एक बाहरी सेवा है जो विभिन्न प्रकार के कैप्चा को हल करने में मदद करती है, जिसमें ReCaptcha V2 और captcha शामिल हैं, जो आमतौर पर वेबसाइटों पर उपयोग किए जाते हैं।
हम CapSolver का उपयोग करके ReCaptcha V2 को हल करने का प्रदर्शन करेंगे और फिर उस पेज की सामग्री को स्क्रैप करेंगे जिसके लिए पहले कैप्चा को हल करने की आवश्यकता होती है।
उदाहरण: कैपसॉल्वर और कर्ल_सीएफएफआई के साथ ReCaptcha V2 को हल करना
python
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
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
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
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
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% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

CAPTCHA 2026 हल करने के लिए सबसे अच्छा एक्सटेंशन क्या है?
ऑनलाइन सुरक्षा की लगातार बदलती दुनिया में, कैप्चा चुनौतियां इंटरनेट उपयोगकर्ताओं के लिए एक सामान्य बाधा बन गई हैं।

Sora Fujimoto
12-Dec-2025

लुमिप्रॉक्सी: प्रीमियम प्रॉक्सी वेब स्क्रैपिंग एंड डेटा एकत्रीकरण के लिए
इस लेख में, हम आपको लुमीप्रॉक्सी क्या है और जो वे प्रदान करते हैं उन सेवाओं के बारे में बताएंगे।

Emma Foster
12-Dec-2025

Genlogin: आपके वेब ऑटोमेशन अनुभव को क्रांति लाओ
इस लेख में, हम आपको Genlogin क्या है और सेवाएं जो वे प्रदान करते हैं दिखाएंगे।

Aloísio Vítor
12-Dec-2025

प्रॉक्सीज.आईओ : किसी भी कार्य के लिए व्यक्तिगत प्रॉक्सी
इस लेख में, हम आपको दिखाएंगे कि Proxys.io क्या है और वे कौन सी सेवाएं प्रदान करते हैं।

Nikolai Smirnov
12-Dec-2025

टैबप्रॉक्सी: अच्छी कीमत विदेशी रिजिडेंशियल प्रॉक्सी
इस लेख में, हम आपको टैबप्रॉक्सी क्या है और वे क्या सेवाएं प्रदान करते हैं दिखाएंगे।

Rajinder Singh
12-Dec-2025

IP2World रिजिडेंशियल प्रॉक्सी: नेतृत्व कर रहे वैश्विक आईपी प्रॉक्सी समाधान
इस लेख में, हम आपको IP2World क्या है और वे कौन सी सेवाएं प्रदान करते हैं दिखाएंगे।

Ethan Collins
12-Dec-2025

