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爬虫实战:定时爬取微博热榜信息并存入SqlServer,不再错过每条热搜