java 利用jsoup 爬取知乎首页问题

时间:2023-03-09 21:07:14
java 利用jsoup 爬取知乎首页问题

今天学了下java的爬虫,首先要下载jsoup的包,然后导入,导入过程:首先右击工程:Build Path ->configure Build Path,再点击Add External JARS,进行导包。

学习参考文档:https://jsoup.org/

但是有一点小问题:就是利用java爬虫爬去了知乎的问题,但是却只爬到了前三条,大体思路应该还是正确的。不知怎么解决,如果各位大佬有思路,望指教:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; public class worm0{
public static void main(String[] args) throws IOException { Document document=Jsoup.connect("https://www.zhihu.com/").get();
Elements main=document.select(".ContentLayout-mainColumn"); Elements url=main.select("h2[class=ContentItem-title]").select("a");
System.out.println("url"+url);
for(Element question:url){
//输出href后的值,即主页上每个关注问题的链接
String URL=question.attr("abs:href");
//下载问题链接指向的页面
Document document2=Jsoup.connect(URL).get();
//问题
Elements title=document2.select(".QuestionHeader-title");
//问题描述
Elements detail=document2.select("span[class=RichText ztext]");
//回答
Elements answer=document2.select(".RichContent-inner");
System.out.println("\n"+"链接:"+URL
+"\n"+"标题:"+title.text()
+"\n"+"问题描述:"+detail.text()
+"\n"+"回答:"+answer.text());
}
}
}