मैं कर रहा था की कुछ वेब scraping का उपयोग कर colly चाहता था लेकिन इसे चलाने के लिए समय-समय पर क्रॉन का उपयोग कर. मैं बाहर की कोशिश एक बुनियादी दृष्टिकोण यह करने के लिए.
type scraper struct {
coll *colly.Collector
rc *redis.Client
}
func newScraper(c *colly.Collector, rc *redis.Client) scraper {
return scraper{coll: c, rc: rc}
}
func main() {
rc := redis.NewClient(&redis.Options{
Addr: "localhost:3000",
Password: "", // no password set
DB: 0, // use default DB
})
coll := colly.NewCollector()
scrape := newScraper(coll, rc)
c := cron.New()
c.AddFunc("@every 10s", scrape.scrapePls)
c.Start()
sig := make(chan int)
<-sig
}
func (sc scraper) scrapePls() {
sc.coll.OnHTML(`body`, func(e *colly.HTMLElement) {
//Extracting required content
//Using Redis to store data
})
sc.coll.OnRequest(func(r *colly.Request) {
log.Println("Visting", r.URL)
})
sc.coll.Visit("www.example.com")
}
यह करने के लिए लगता है नहीं हो सकता है, काम करता है एक फोन एक बार और नहीं समय-समय पर बनाने के लिए अगले कॉल. नहीं यकीन है कि अगर मैं कर रहा हूँ पर बाहर लापता कुछ है । वहाँ किसी भी अन्य दृष्टिकोण है कि लिया जा सकता है?
किसी भी मदद की सराहना की जाएगी.
धन्यवाद!
{1 {30s} 0001-01-01 00:00:00 +0000 UTC 0001-01-01 00:00:00 +0000 UTC 0x6efa80 0x6efa80}]
. नहीं था मेरे लिए उपयोगी. इस मदद करता है?