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

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% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

9Proxy की शक्ति की खोज करें: व्यापक समीक्षा
इस लेख में, हम आपको 9proxy क्या है और जो वे प्रदान करते हैं सेवाएं दिखाएंगे।

Rajinder Singh
04-Dec-2025

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

Nikolai Smirnov
04-Dec-2025

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

Rajinder Singh
04-Dec-2025

वेब स्क्रैपिंग क्या है | सामान्य उपयोग के मामले और समस्याएं
वेब स्क्रैपिंग के बारे में जानें: इसके लाभ सीखें, आसानी से चुनौतियों का सामना करें, और कैपसॉल्वर के साथ अपने व्यवसाय को बढ़ाएं।

Rajinder Singh
03-Dec-2025

Sample Post
यह पूर्ण गाइड यह बताएगा कि Puppeteer क्या है और वेब स्क्रैपिंग में इसका दक्षता से उपयोग कैसे करें।

Rajinder Singh
03-Dec-2025

AI एजेंट वेब स्क्रैपर बनाने का तरीका (शुरुआती के लिए उपयुक्त ट्यूटोरियल)
इस शुरुआती के लिए अनुकूल ट्यूटोरियल के साथ शुरू से एक AI एजेंट वेब स्क्रैपर बनाने के बारे में सीखें। मूल घटक, कोड उदाहरण, और CAPTCHAs जैसे एंटी-बॉट उपायों को पार करने के बारे में खोजें भरोसेमंद डेटा संग्रहण के लिए।

Rajinder Singh
02-Dec-2025


.