【从零开始学Go】使用goquery爬取全网VIP影视资源在线观看地址

goquery官方文档地址
会用jquery的,goquery基本可以1分钟上手

goquery常用方法

Eq(index int) *Selection    //根据索引获取某个节点集
First() *Selection          //获取第一个子节点集
Last() *Selection           //获取最后一个子节点集
Next() *Selection           //获取下一个兄弟节点集
NextAll() *Selection        //获取后面所有兄弟节点集
Prev() *Selection           //前一个兄弟节点集
Get(index int) *html.Node   //根据索引获取一个节点
Index() int                 //返回选择对象中第一个元素的位置
Slice(start, end int) *Selection //根据起始位置获取子节点集
Each(f func(int, *Selection)) *Selection //遍历
EachWithBreak(f func(int, *Selection) bool) *Selection //可中断遍历
Map(f func(int, *Selection) string) (result []string) //返回字符串数组
Attr(), RemoveAttr(), SetAttr() //获取,移除,设置属性的值
AddClass(), HasClass(), RemoveClass(), ToggleClass()
Html() //获取该节点的html
Length() //返回该Selection的元素个数
Text() //获取该节点的文本值
Children() //返回selection中各个节点下的孩子节点
Contents() //获取当前节点下的所有节点
Find() //查找获取当前匹配的元素
Next() //下一个元素
Prev() //上一个元素

代码

package main

import (
    "fmt"
    "github.com/PuerkitoBio/goquery"
    "log"
    "net/http"
    "os"
    "strconv"
    "strings"
)

// 电影列表地址
var url="http://zuikzy.cc/?m=vod-type-id-PAGE.html";
const YUMING  = "http://zuikzy.cc/"


//  爬虫电影网站资源 添加到数据库
func SaveVideo(page int){

    // 如果n为-1,则全部替换;如果 old 为空
    movieurl:=strings.Replace(url,"PAGE",strconv.Itoa(page),-1)
    log.Println(fmt.Sprintf("【开始爬取电影,页码:%d  请求地址为 %s 】",page,movieurl))
    res, err := http.Get(movieurl)
    checkErr(err,"【爬取网站地址请求异常 】")
    if res.StatusCode != 200 {
        log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
    }
    doc, err := goquery.NewDocumentFromReader(res.Body)
    checkErr(err,"爬取成功,解析html异常")

    doc.Find(".DianDian").Each(func(j int, tr *goquery.Selection) {
        title:=tr.Find("td").Eq(0).Text()  //标题
        detailsLink,_:=tr.Find("td").Eq(0).Find("a").Eq(0).Attr("href")  //详情页地址

        types:=tr.Find("td").Eq(1).Text()  // 电影类型

        // 爬取播放地址和详情链接
        res, err= http.Get(YUMING+detailsLink)
        checkErr(err,"【爬取电影: %s  异常】")
        if res.StatusCode != 200 {
            log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
        }
        doc,_= goquery.NewDocumentFromReader(res.Body)

        //imgpath,_:=doc.Find(".videoPic img").Eq(0).Attr("src")
        //reamrk:=doc.Find(".movievod").Eq(1).Text();
        palyLink:=doc.Find(".contentURL li").Eq(1).Text()

        palyLink=strings.Replace(palyLink,"$","-",-1)

        log.Println(fmt.Sprintf("标题:%s  类型 %s 播放地址  %s ",title,types,palyLink))

        tracefile(fmt.Sprintf("标题:%s  类型 %s 播放地址  %s ",title,types,palyLink))


    })
    defer res.Body.Close()
}

func main()  {
    for i := 1; i < 10; i++ {
        SaveVideo(i)
    }
}

func tracefile(str_content string)  {
    // // 读写模式打开文件 如果不存在将创建一个新文件 写操作时将数据附加到文件尾部
    fd,_:=os.OpenFile("爬取全网VIP电影在线观看.txt",os.O_RDWR|os.O_CREATE|os.O_APPEND,0644)
    fd_content:=strings.Join([]string{str_content,"\n"},"")
    buf:=[]byte(fd_content)
    fd.Write(buf)
    fd.Close()
}


// 错误检查
func checkErr(err error,msg string) {
    if err != nil {
        fmt.Println(msg,err)
    }
}

爬取结果,复制地址到浏览即可在线播放

标题:神医 [高清]
    类型 剧情片 播放地址  高清-https://zkgn.wb699.com/share/4bUkbVK2CRMgHeUo 
标题:匹诺曹 [高清]
    类型 爱情片 播放地址  高清-https://zkgn.wb699.com/share/v5339kxgH65mjfn8 
标题:等风来 [高清]
    类型 喜剧片 播放地址  高清-https://zkgn.wb699.com/share/7KE8MG7uiDVCbLvg 
标题:相见恨晚 [德语1080P]
    类型 喜剧片 播放地址  德语1080P-https://zkgn.wb699.com/share/dpfgCBaQzS7HPJh1 
标题:都市灰姑娘 [德语1080P]
    类型 剧情片 播放地址  德语1080P-https://zkgn.wb699.com/share/FPucBGxQy30QpzQ7 
标题:米娅和白狮 [BD中英双字]
    类型 剧情片 播放地址  BD中英双字-https://zkgn.wb699.com/share/uLiLFpOTGlfEBz71 

源码地址

参考

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容