JAVA——微博热搜爬虫

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA——微博热搜爬虫相关的知识,希望对你有一定的参考价值。

源代码:https://gitee.com/my-zstu/myzstu/blob/develop/myzstu-spyder/src/main/java/club/zstuca/myzstu/spyder/misc/WeiboTopSpyder.java

解决方案

package club.zstuca.myzstu.spyder.misc;

import club.zstuca.myzstu.spyder.misc.entity.WeiboTopItem;
import club.zstuca.myzstu.utils.http.HttpUtil;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.ArrayList;
import java.util.List;

public class WeiboTopSpyder {
    public String url = "https://s.weibo.com/top/summary";
    public List<WeiboTopItem> run(){
        try {
            HttpResponse response = HttpUtil.doGet(url);
            String content = EntityUtils.toString(response.getEntity());
            if (content == null || content.isEmpty()) {
                return null;
            }
            Document document = Jsoup.parse(content);
            Elements elements = document.select("#pl_top_realtimehot").select("tbody").select("tr");
            List<WeiboTopItem> list  = new ArrayList<>();
            elements.forEach(item->{
                WeiboTopItem topItem = new WeiboTopItem();
                Element element = item.select("td").get(1).select("a").first();
                if (element == null) {
                    return;
                }
                topItem.setName(element.text());
                topItem.setUrl("https://s.weibo.com" + element.attr("href"));
                list.add(topItem);
            });
            return list;
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
}

以上是关于JAVA——微博热搜爬虫的主要内容,如果未能解决你的问题,请参考以下文章

爬去微博热搜榜

Python爬虫 | 微博热搜定时爬取,堪称摸鱼神器

Python爬虫 | 微博热搜定时爬取,堪称摸鱼神器

Python爬虫实战:定时爬取微博热榜信息并存入SqlServer,不再错过每条热搜

合肥工业大学python大作业之爬虫(手把手教你爬取微博热搜)

python爬取微博热搜