这段时间特别想了解下爬虫,听起来特别有意思的。于是我开始google,开始是使用java 自带的URL类开始发送请求,然后使用正则表达式匹配想要的数据,由于我不怎么会正则表达式,所以匹配起来特别费劲,后来找到了JSOUP 这个开源的好东西。点击打开链接
将文档读了一遍,开始实战。
我看大家都是爬知乎,我也开始爬知乎!
目标:爬出问题列表和答案。
今天爬的是没有登录的知乎 [发现] 页面,带着目的我首先查看了页面源代码,研究了下。
String homePage = "https://www.zhihu.com/explore"; // 知乎首页
Document doc = Jsoup.connect(homePage).get();
Elements links = doc.select("a[data-za-element-name]");
Iterator it = links.iterator();
while (it.hasNext()) {
Element ele = (Element) it.next();
System.out.println("===================");
System.out.println(ele.text());
Document subDoc = Jsoup.connect(ele.attr("abs:href")).get();
Elements subEles = subDoc.select("span[itemprop]");
Iterator subIt = subEles.iterator();
while (subIt.hasNext()) {
Element subEle = (Element) subIt.next();
System.out.println("答案:===>" + subEle.text());
}
}