WebMagic简单爬取Bilibili网页数据

http://webmagic.io/

http://webmagic.io/docs/zh/

依赖:

<dependency>
    <groupId>us.codecraft</groupId>
    <artifactId>webmagic-core</artifactId>
    <version>0.7.3</version>
</dependency>
<dependency>
    <groupId>us.codecraft</groupId>
    <artifactId>webmagic-extension</artifactId>
    <version>0.7.3</version>
</dependency>

例子:

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;
import us.codecraft.webmagic.selector.Html;
import us.codecraft.webmagic.selector.Selectable;

import java.util.List;

public class Bilibili implements PageProcessor {

    public Bilibili() {
        super();
    }

    private Site site = Site.me().setRetryTimes(10).setSleepTime(1000);

    public void process(Page page) {
        Html html = page.getHtml();
        Selectable li = html.xpath("//li[@class='video-item matrix']");

        Selectable href = li.xpath("//li/a/@href");
        Selectable title = li.xpath("//li/a/@title");
        Selectable upTime = li.xpath("//span[@title='上传时间']/text()");
        Selectable timeLong = li.xpath("//span[@class='so-imgTag_rb']/text()");

        List<String> hrefs = href.all();
        List<String> titles = title.all();
        List<String> upTimes = upTime.all();
        List<String> timeLongs = timeLong.all();

        for (int i = 0; i < hrefs.size(); i++) {
            String tL = timeLongs.get(i);
            String tl = titles.get(i);
            String hf = hrefs.get(i);
            String uT = upTimes.get(i);

            System.out.println("视频标题:" + tl.trim());
            System.out.println("视频链接:" + hf.replace("//","").trim());
            System.out.println("更新时间:" + uT.trim());
            System.out.println("视频时长:" + tL.trim());
            System.out.println();
        }
    }

    public Site getSite() {
        return site;
    }

    public static void main(String[] args) {
        Spider.create(new Bilibili()).addUrl("https://search.bilibili.com/all?keyword=%E6%B5%8B%E8%AF%95&from_source=nav_search_new").thread(5).run();
    }
}

结果:

视频标题:【互动视频】【测试】直观评价!你物理的真实水平能吊打怎样的难度和综合度?脑子够做多少物理运动?| 物理 | 运动
视频链接:www.bilibili.com/video/av84141878?from=search
更新时间:2020-01-19
视频时长:12:04

视频标题:【互动视频】国际标准智商测试
视频链接:www.bilibili.com/video/av67057822?from=search
更新时间:2019-09-08
视频时长:03:00

视频标题:【互动视频】音乐能力测试
视频链接:www.bilibili.com/video/av85511292?from=search
更新时间:2020-01-29
视频时长:14:51

视频标题:【水弹】水弹发射器进入14.8v时代?志气电池测试,水弹萌新电池选购指南,测速教程
视频链接:www.bilibili.com/video/av85310385?from=search
更新时间:2020-01-28
视频时长:10:39

视频标题:【泪点测试】催泪片段Top20。逐步升级的虐死人的高能片段,你看第几个的时候哭了?
视频链接:www.bilibili.com/video/av20216396?from=search
更新时间:2018-03-01
视频时长:02:30:14

视频标题:【互动视频】测测你拥有哪种人格?
视频链接:www.bilibili.com/video/av69474166?from=search
更新时间:2019-09-30
视频时长:09:18

视频标题:【互动视频】测试你是不是直男!(攻略模式)
视频链接:www.bilibili.com/video/av68121722?from=search
更新时间:2019-09-18
视频时长:09:14

视频标题:【泪点测试】这些血洗B站的高能虐心名场面,你看第几个的时候哭了?
视频链接:www.bilibili.com/video/av81883871?from=search
更新时间:2020-01-03
视频时长:17:18

视频标题:自制面部捕捉发布!比Facerig功能更多的面部捕捉解决方案(测试)
视频链接:www.bilibili.com/video/av85253844?from=search
更新时间:2020-01-27
视频时长:05:24

视频标题:【阿伟死了汉语听力测试】从治愈到致郁
视频链接:www.bilibili.com/video/av82837031?from=search
更新时间:2020-01-10
视频时长:08:15

视频标题:测测你能渣到什么程度,还有救吗
视频链接:www.bilibili.com/video/av70683264?from=search
更新时间:2019-10-09
视频时长:03:08

视频标题:心理测试:你第一眼看出是什么字?
视频链接:www.bilibili.com/video/av76879402?from=search
更新时间:2019-11-24
视频时长:02:25

视频标题:【日本超准心测】你内心最害怕什么?
视频链接:www.bilibili.com/video/av75115429?from=search
更新时间:2019-11-10
视频时长:05:20

视频标题:专业HIFI耳机测试工具视频,看看你耳机到底好不好,NFHIFI中级试听
视频链接:www.bilibili.com/video/av80703555?from=search
更新时间:2019-12-26
视频时长:22:18

视频标题:不要哭挑战!终极泪点测试!你能忍住不哭吗?
视频链接:www.bilibili.com/video/av75091619?from=search
更新时间:2019-11-09
视频时长:17:15

视频标题:你第一眼看到了什么?测试你是否有人格分裂倾向
视频链接:www.bilibili.com/video/av79869720?from=search
更新时间:2019-12-19
视频时长:02:07

视频标题:【互动视频】性取向测♂试!
视频链接:www.bilibili.com/video/av65760443?from=search
更新时间:2019-08-28
视频时长:01:51

视频标题:【互动视频】测试你对《奥特曼》了解程度!
视频链接:www.bilibili.com/video/av83707597?from=search
更新时间:2020-01-16
视频时长:01:30

视频标题:【互动视频】测试你能否找到女友!(原创配音)
视频链接:www.bilibili.com/video/av81833139?from=search
更新时间:2020-01-03
视频时长:05:06

视频标题:测测你的颜值有几分,能达到及格线吗
视频链接:www.bilibili.com/video/av82219799?from=search
更新时间:2020-01-05
视频时长:19:18

get page: https://search.bilibili.com/all?keyword=%E6%B5%8B%E8%AF%95&from_source=nav_search_new
发布了43 篇原创文章 · 获赞 12 · 访问量 9847

猜你喜欢

转载自blog.csdn.net/OrangeHap/article/details/103992519