scriptを読み込んだ後のhtmlを並列処理で取得する方法を教えて頂けないでしょうか?
下記のコードはそれぞれのurlに対しdriverを立ち上げpageを作成しています。ただこれですと何もエラーもなく止まって動かなくなってしまいできません。
driver.Start()のみmain()に移送させた場合、driver.Start()とpage, err := driver.NewPage(agouti.Browser("chrome"))の処理のみmain()に移動させてみてもできませんでした。
scriptを読み込んだ後のhtlmlを並列で取得するもっと負荷の少ないやり方があればそちらも教えて頂けませんでしょうか?
よろしくお願いいたします。
package main import ( 略 ) func main() { slice_huga := [] string{"url_1", "url_2", "url_3"} //3つのurl。実際はhttp://~ for _, url := range slice_huga { go hoge(url) } time.Sleep(time.Second * 30) } func hoge(url string){ driver := agouti.ChromeDriver( agouti.ChromeOptions("args", []string{ "--disable-gpu", "--headless", }), ) err := driver.Start() if err != nil { fmt.Println(err) } defer driver.Stop() page, err := driver.NewPage(agouti.Browser("chrome")) if err != nil { fmt.Println(err) } err := page.Navigate(url) if err != nil { fmt.Println(err) } getSource, err := page.HTML() if err != nil { fmt.Println(err) } readerCurContents := strings.NewReader(getSource) doc, err := goquery.NewDocumentFromReader(readerCurContents) if err != nil { fmt.Println(err) } doc.Find(site.Selector).Each(func(index int,selection *goquery.Selection){ (略) }) }
go 1.13
ChromeDriver 83.0.4103.39
あなたの回答
tips
プレビュー