欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java爬虫-爬取各网络平台影视URL地址

程序员文章站 2022-04-02 10:13:39
目的爬取目前正在热播的电视剧《斗罗大陆》视频,并破解免费观看????准备爬取地址:斗罗大陆环境准备:搭建WebMagic,不知道的可以下载源码,很快入手。码云地址:https://gitee.com/flashsword20/webmagic页面分析1.获取每集的视频地址其实很简单,视频链接都放在类名为item的span里2.视频解析既然获取到了每一集的视频地址,但我们需要的是免费观看,结合我的另一篇博客Vip影视的解析接口,既在视频地址前加解析接口URL就可以破...

目的

学习Java爬虫技术,爬取网络平台的影视地址,解析为我们自己需要的URL地址。

 

准备

爬取地址:https://v.qq.com/x/cover/mzc00200js3mdvw.html

环境准备:搭建WebMagic,不知道的可以直接下载代码,很快入手,也可以参考我的另一篇博客 基于WebMagic爬取某豆瓣电影评论

码云地址:https://gitee.com/flashsword20/webmagic 

 

页面分析

1.获取每集的视频地址

打开爬取网页,按F12,找到每一集的url存放标签,

查找发现视频链接都放在类名为item的<span>里。

Java爬虫-爬取各网络平台影视URL地址

Java爬虫-爬取各网络平台影视URL地址

2.视频解析

既然获取到了每一集的视频地址,结合我的另一篇博客 Vip影视的解析接口,既在视频地址前加解析接口URL就可以解析视频。

 

代码

获取到电视剧的所有视频地址,代码自然很简单就出来了

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.ResultItems;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.pipeline.FilePipeline;
import us.codecraft.webmagic.processor.PageProcessor;
import java.util.List;
import java.util.Map;

public class TengXunPageProcessor implements PageProcessor {

    private Site site;

    public TengXunPageProcessor() {
        this.site = Site.me().setRetryTimes(3).setSleepTime(300);  // 设置站点重试次数3 间隔300ms
    }

    @Override
    public void process(Page page) {
        page.putField("title", page.getHtml().xpath("//title/text()")); //爬取网页标题
//        page.putField("html", page.getHtml().toString()); //爬取整个页面的html
        page.putField("urlList", page.getHtml().css("span.item").links().all()); // 我们要爬取的核心信息内容
        page.putField("titleList", page.getHtml().css("span.item>a", "text").all());
    }

    @Override
    public Site getSite() {
        //settings
        return site;
    }

    public static void main(String[] args) {

        Spider spider = Spider.create(new TengXunPageProcessor()).addPipeline(new FilePipeline("E:\\pipeline", ".txt"));
        ResultItems resultItems = spider.<ResultItems>get("https://v.qq.com/x/cover/mzc00200js3mdvw.html");// 爬取并获得爬取结果
        Map<String, Object> map = resultItems.getAll();
        for (Map.Entry entry : map.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue()); //打印爬取的所有内容
        }
        List<String> urlList = (List<String>) map.get("urlList");
        List<String> titleList = (List<String>) map.get("titleList");
        System.out.println("=====================分隔线===================\n爬取结果如下:");

        if (titleList.size() == urlList.size()) {
            for (int i = 0; i < urlList.size(); i++) {
                System.out.println(titleList.get(i) + ":  https://vip.52jiexi.top/?url=" + urlList.get(i)); // 打印解析后的地址
            }
        }
        spider.close();
    }

}

 

运行

结果如下

Java爬虫-爬取各网络平台影视URL地址

 

爬取成功。

 

拓展

其他视频方式也一样,如电影,动漫等,只需要替换爬取地址就行。

其他平台爬取方式类似。

使用代理IP,避免反爬虫或IP被封。给大家分享一个代理IP,需要的朋友可以去了解下,http://i0k.cn/5dAZa ????

Java爬虫-爬取各网络平台影视URL地址

---------------------------------------------------------------------------------------------------------------------------------------------------
有兴趣的朋友可以加Q群交流学习,群里有更多源码,学习资料,大神解答。

QQ群:741909960     

点我进群

 

本文地址:https://blog.csdn.net/qq_35402412/article/details/114233078

相关标签: Java 爬虫