Improved crawler

This commit is contained in:
2018-03-08 20:07:03 +01:00
parent 2ec5d31c18
commit 13ad0b78da

View File

@ -1,20 +1,38 @@
package main package main
import ( import (
"fmt"
"time" "time"
"github.com/animenotifier/arn"
"github.com/fatih/color"
"github.com/aerogo/crawler" "github.com/aerogo/crawler"
) )
const userAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.166 Safari/537.36" const userAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.166 Safari/537.36"
func main() { func main() {
defer arn.Node.Close()
malCrawler := crawler.New(userAgent, 1*time.Second, 20000) malCrawler := crawler.New(userAgent, 1*time.Second, 20000)
count := 0
for anime := range arn.StreamAnime() {
malID := anime.GetMapping("myanimelist/anime")
if malID == "" {
continue
}
malCrawler.Queue(&crawler.Task{ malCrawler.Queue(&crawler.Task{
URL: "https://github.com/animenotifier/notify.moe", URL: "https://myanimelist.net/anime/" + malID,
Destination: "file.html", Destination: fmt.Sprintf("mal/anime-%s.html", malID),
}) })
count++
}
color.Yellow("Queued up %d links", count)
malCrawler.Wait() malCrawler.Wait()
} }