欢迎光临
我们一直在努力

go语言学习例子No.33-chromedp爬取动态数据

想爬取电视剧的下载地址,发现是js生成的

用http.get获取到的res.body就是网页源码看到的,而不是thunder://QUFtYWduZXQlM0ElM0Z4dCUzRHVybiUzQWJ0aWglM0ExYjAxODBhODM0MGEwNTIzMTllZTUyMDA1MzA3ODE5OGIyZmZlYjQ2JTI2YW1wJTNCZG4lM0QlRTclQkElQTYlRTUlQUUlOUElRTclQUMlQUMxJUU5JTlCJTg2Lm1wNFpa,怎么爬取这样的迅雷链接呢?


可以用chromedp

// Command text is a chromedp example demonstrating how to extract text from a
// specific element.
package main

import (
	"context"
	"github.com/chromedp/chromedp"
	"log"
	"strings"
)

func main() {
	// create context
	ctx, cancel := chromedp.NewContext(context.Background())
	defer cancel()

	// run task list
	var res string
	err := chromedp.Run(ctx,
		chromedp.Navigate(`https://www.993dy.com/vod-detail-id-78571.html`),
		chromedp.InnerHTML("#ul1",&res),
	)
	if err != nil {
		log.Fatal(err)
	}
    //配合goquery可以筛选出地址
	doc, err := goquery.NewDocumentFromReader(strings.NewReader(res))
	if err != nil {
		log.Fatal(err)
	}

	// Find the review items
	doc.Find("div:first-child").Each(func(i int, s *goquery.Selection) {
		// For each item found, get the title
		title,_ := s.Find("a").Attr("href")
		fmt.Printf("%s\n", title)
}
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:家里蹲的狐狸 » go语言学习例子No.33-chromedp爬取动态数据

分享到: 生成海报
avatar

热门文章

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活