java 利用jousp 爬取知乎首页问题
Posted 山兮木
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 利用jousp 爬取知乎首页问题相关的知识,希望对你有一定的参考价值。
今天学了下java的爬虫,首先要下载jousp的包,然后导入,导入过程:首先右击工程:Build Path ->configure Build Path,再点击Add External JARS,进行导包。
学习参考文档:https://jsoup.org/
但是有一点小问题:就是利用java爬虫爬去了知乎的问题,但是却只爬到了前三条,大体思路应该还是正确的。不知怎么解决,如果各位大佬有思路,望指教:
import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; 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(" "+"链接:"+URL +" "+"标题:"+title.text() +" "+"问题描述:"+detail.text() +" "+"回答:"+answer.text()); } } }
以上是关于java 利用jousp 爬取知乎首页问题的主要内容,如果未能解决你的问题,请参考以下文章