वेब स्क्रैपिंग गोलैंग में कॉली के साथ

Rajinder Singh
Deep Learning Researcher
04-Dec-2025

वेब स्क्रैपिंग वेबसाइटों से डेटा निकालने के लिए एक विधि है। गो में, कॉली पुस्तकालय अपनी सरलता और शक्तिशाली विशेषताओं के कारण वेब स्क्रैपिंग के लिए एक लोकप्रिय उपकरण है। इस गाइड आपको गो में प्रोजेक्ट की सेटअप करने, एक बुनियादी स्क्रैपर बनाने, जटिल डेटा निकालने के मामलों के साथ निपटने और समानांतर मांगों के साथ अपने स्क्रैपर को अनुकूलित करने में मदद करेगा।
अपने गो प्रोजेक्ट की सेटअप करें
शुरू करने से पहले, अपने सिस्टम में गो स्थापित करने का निश्चित करें। निम्न आदेशों के साथ अपने प्रोजेक्ट को प्रारंभ करें और कॉली पैकेज लाएं:
bash
go mod init my_scraper
go get -u github.com/gocolly/colly
इससे आपके प्रोजेक्ट डायरेक्टरी सेट हो जाती है और कॉली पैकेज स्थापित हो जाता है।
कैपसॉल्वर बोनस कोड के साथ अपना बोनस प्राप्त करें
अपने स्वचालन बजट को तत्काल बढ़ाएं!
कैपसॉल्वर खाता भरने के दौरान बोनस कोड CAPN का उपयोग करके प्रत्येक भरोसे में 5% बोनस प्राप्त करें — कोई सीमा नहीं।
अपने कैपसॉल्वर डैशबोर्ड में अब इसे रीडीम करें
.
एक बुनियादी स्क्रैपर बनाएं
हम एक विशिष्ट विकिपीडिया पृष्ठ से सभी लिंक्स निकालने के लिए एक बुनियादी स्क्रैपर बनाएंगे।
- एक नया फ़ाइल
main.goबनाएं और निम्न कोड जोड़ें:
go
package main
import (
"fmt"
"github.com/gocolly/colly"
)
func main() {
c := colly.NewCollector(
colly.AllowedDomains("en.wikipedia.org"),
)
c.OnHTML(".mw-parser-output", func(e *colly.HTMLElement) {
links := e.ChildAttrs("a", "href")
fmt.Println(links)
})
c.Visit("https://en.wikipedia.org/wiki/Web_scraping")
}
इस कोड नए कॉली कलेक्टर को en.wikipedia.org तक सीमित करता है, फिर पृष्ठ के .mw-parser-output डिव में सभी लिंक्स को खोजने और प्रिंट करने के लिए कॉलबैक सेट करता है।
टेबल डेटा स्क्रैप करें
अधिक जटिल कार्यों जैसे टेबल डेटा स्क्रैप करने और इसे CSV फ़ाइल में लिखने के लिए, आप गो में encoding/csv पैकेज का उपयोग कर सकते हैं:
main.goको निम्न कोड के साथ विस्तारित करें ताकि टेबल डेटा स्क्रैप किया जा सके:
go
package main
import (
"encoding/csv"
"log"
"os"
"github.com/gocolly/colly"
)
func main() {
fName := "data.csv"
file, err := os.Create(fName)
if err != nil {
log.Fatalf("Could not create file, err: %q", err)
return
}
defer file.Close()
writer := csv.NewWriter(file)
defer writer.Flush()
c := colly.NewCollector()
c.OnHTML("table.wikitable", func(e *colly.HTMLElement) {
e.ForEach("tr", func(_ int, row *colly.HTMLElement) {
rowData := []string{}
row.ForEach("td", func(_ int, cell *colly.HTMLElement) {
rowData = append(rowData, cell.Text)
})
writer.Write(rowData)
})
})
c.Visit("https://en.wikipedia.org/wiki/List_of_programming_languages")
}
इस स्क्रिप्ट विकिपीडिया पृष्ठ से टेबल डेटा स्क्रैप करता है और इसे data.csv में लिखता है।
समानांतर मांगों को बनाएं
स्क्रैपिंग को तेज करने के लिए, आप गो के गोरूटीन का उपयोग करके समानांतर मांगों को बना सकते हैं। निम्न तरीका बताता है कि कैसे बहुत सारे पृष्ठों को समानांतर रूप से स्क्रैप करें:
go
package main
import (
"fmt"
"github.com/gocolly/colly"
"sync"
)
func scrape(url string, wg *sync.WaitGroup) {
defer wg.Done()
c := colly.NewCollector()
c.OnHTML("title", func(e *colly.HTMLElement) {
fmt.Println("Title found:", e.Text)
})
c.Visit(url)
}
func main() {
var wg sync.WaitGroup
urls := []string{
"https://en.wikipedia.org/wiki/Web_scraping",
"https://en.wikipedia.org/wiki/Data_mining",
"https://en.wikipedia.org/wiki/Screen_scraping",
}
for _, url := range urls {
wg.Add(1)
go scrape(url, &wg)
}
wg.Wait()
}
इस उदाहरण में, हम scrape फ़ंक्शन की परिभाषा करते हैं जो एक URL और एक वेट ग्रूप के रूप में आर्गुमेंट्स लेता है। फ़ंक्शन एक कॉली कलेक्टर प्रारंभ करता है, एक कॉलबैक सेट करता है जो पृष्ठ के शीर्षक को प्रिंट करता है, और URL पर जाता है। main फ़ंक्शन एक वेट ग्रूप बनाता है, एक सूची में URL के लिए पुनरावृत्ति करता है, और प्रत्येक URL के लिए एक गोरूटीन शुरू करता है ताकि समानांतर रूप से स्क्रैप किया जा सके।
इन चरणों का पालन करके, आप कॉली के साथ गो में बल्कि विश्वसनीय स्क्रैपर बना सकते हैं, विभिन्न स्क्रैपिंग परिदृश्यों के साथ निपट सकते हैं, और समानांतर मांगों के साथ प्रदर्शन को अनुकूलित कर सकते हैं। अधिक विस्तृत शिक्षण और उन्नत उपयोग के लिए, गो और कॉली के साथ वेब स्क्रैपिंग पर संसाधनों की जांच करें।
गो के लिए अन्य वेब स्क्रैपिंग पुस्तकालय
कॉली के अलावा, गो में वेब स्क्रैपिंग के लिए कई अन्य उत्कृष्ट पुस्तकालय हैं:
- GoQuery: इस पुस्तकालय में ज्यूक्वेरी के समान विशेषताओं और सिंटैक्स होता है, जो आपको ज्यूक्वेरी में जैसे वेब स्क्रैपिंग ऑपरेशन करने में सक्षम बनाता है।
- फेरेट: एक अनुकूलनीय, विस्तारित और तेज वेब स्क्रैपिंग प्रणाली जो वेब से डेटा निकालने को सरल बनाती है। फेरेट एक विशिष्ट विवरणात्मक भाषा के उपयोग पर केंद्रित है।
- Selenium: इसके हेडलेस ब्राउजर क्षमताओं के कारण, सीलेनियम डायनामिक सामग्री के लिए आदर्श है। यह गो के लिए आधिकारिक समर्थन नहीं है, लेकिन एक पोर्ट उपलब्ध है जो इसके उपयोग को गो में संभव बनाता है।
निष्कर्ष
वेब स्क्रैपिंग वेबसाइटों से डेटा के प्रभावी निकालने के लिए एक शक्तिशाली और आवश्यक कौशल है। गो और कॉली पुस्तकालय के साथ, आप विभिन्न डेटा निकालने के परिदृश्यों, जैसे सरल लिंक्स के संग्रह से लेकर जटिल टेबल डेटा के निकालने तक, के साथ-साथ समानांतर मांगों के साथ प्रदर्शन को अनुकूलित करने वाले विश्वसनीय स्क्रैपर बना सकते हैं।
इस गाइड में आपने जाना कि:
- कॉली पुस्तकालय के साथ गो में प्रोजेक्ट की सेटअप कैसे करें।
- वेबपेज से लिंक्स निकालने के लिए एक बुनियादी स्क्रैपर बनाएं।
- टेबल डेटा निकालने जैसे अधिक जटिल डेटा निकालने के साथ निपटें और इसे CSV फ़ाइल में लिखें।
- समानांतर मांगों के साथ अपने स्क्रैपर को अनुकूलित करें।
इन चरणों का पालन करके, आप कॉली के साथ गो में प्रभावी और कुशल वेब स्क्रैपर बना सकते हैं। अधिक उन्नत उपयोग और विस्तृत शिक्षण के लिए, गो और कॉली के साथ वेब स्क्रैपिंग पर अतिरिक्त संसाधनों की जांच करें।
एफक्यूए (अक्सर पूछे जाने वाले प्रश्न)
1. क्या कॉली गो में वेब स्क्रैपिंग सीख रहे शुरुआती लोगों के लिए उपयुक्त है?
हां। कॉली को आसान और शुरुआती द्वारा उपयोग करने योग्य बनाया गया है, जबकि अभी भी डोम पार्सिंग, मांग प्रबंधन, कॉलबैक और समानांतरता जैसी शक्तिशाली विशेषताएं प्रदान करता है। भले ही नए गो विकासकर्ता हों, वे केवल कुछ लाइनों के कोड के साथ एक कार्यकर एस्क्रैपर बना सकते हैं।
2. क्या कॉली संरचित सामग्री जैसे टेबल या सूचियां निकाल सकता है?
पूर्ण रूप से। कॉली विशिष्ट एचटीएमएल नोड्स और विशेषताओं के चयन की अनुमति देता है, जो टेबल, सूचियां, लिंक और अन्य संरचित तत्वों के निकालने को आसान बनाता है। आप गो के मानक पुस्तकालयों के साथ सीएसवी या जेसॉन में परिणामों को सीधे संग्रहीत कर सकते हैं।
3. मेरे कॉली वेब स्क्रैपर को कैसे तेज करें?
आप गो के गोरूटीन का उपयोग करके कई पृष्ठों को समानांतर रूप से प्रक्रिया कर सकते हैं। एक वेट ग्रूप के साथ समानांतर स्क्रैपर को शुरू करके और समाप्त करके, स्क्रैपिंग प्रदर्शन में महत्वपूर्ण वृद्धि होती है — विशेष रूप से बड़े डेटासेट या बहु-यूआरएल छापने के कार्यों के लिए।
अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

कैप्चा कैसे हल करें ब्राउज़र4 में कैपसॉल्वर इंटीग्रेशन के साथ
उच्च बहुतायत ब्राउज़र4 स्वचालन के साथ संयोजित करें, जो बड़े पैमाने पर वेब डेटा निकास में CAPTCHA चुनौतियों का निपटारा करने के लिए CapSolver का उपयोग करता है।

Rajinder Singh
21-Jan-2026

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

Nikolai Smirnov
14-Jan-2026

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

Rajinder Singh
14-Jan-2026

403 अस्वीकृत त्रुटि के समाधान जब पायथन के साथ वेबसाइट्स क्रॉल करते हैं
पायथन के साथ वेबसाइटों को क्रॉल करते समय 403 अस्वीकृत त्रुटि से बचना सीखें। यह गाइड IP रोटेशन, यूजर-एजेंट स्पूफिंग, अनुरोध धीमा करना, प्रमाणीकरण का निपटारा और हेडलेस ब्राउजर का उपयोग करके पहुंच प्रतिबंध बचाना और सफल रूप से वेब स्क्रैपिंग जारी रखना शामिल करता है।

Aloísio Vítor
13-Jan-2026

एग्नो में कैप्चा हल करें कैपसॉल्वर एंटीग्रेशन के साथ
जानें कैसे कैपसॉल्वर को एग्नो के साथ एम्बेड करें ताकि आप अपने स्वायत्त एआई एजेंट्स में reCAPTCHA v2/v3, Cloudflare Turnstile, और WAF चुनौतियां हल कर सकें। वेब स्क्रैपिंग और स्वचालन के लिए वास्तविक पायथन उदाहरण शामिल हैं।

Adélia Cruz
13-Jan-2026

शीर्ष पायथन वेब स्क्रैपिंग पुस्तकालय 2026
2026 के लिए सर्वश्रेष्ठ पायथन वेब स्क्रैपिंग पुस्तकालय खोजें। आपकी डेटा निष्कर्षण आवश्यकताओं के लिए विशेषताओं, उपयोग में आसानी और कार्यक्षमता की तुलना करें। विशेषज्ञ दृष्टिकोण और अक्सर पूछे जाने वाले प्रश्न शामिल हैं।

Ethan Collins
12-Jan-2026


.