Jsoup网页抓取工具demo
1.项目是maven项目
2.测试的主函数代码如下:
package www.tydic.com.test;
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 Test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
final String url = "https://www.oschina.net/project/lang/19/java";
try {
/**
* 使用浏览器模式访问网址,避免403错误
*/
Document doc = Jsoup.connect(url)
.userAgent(
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31")
.get();
Elements container = doc.getElementsByClass("ProjectList");
Document containerDoc = Jsoup.parse(container.toString());
Elements module = containerDoc.getElementsByClass("List");
Document moduledoc = Jsoup.parse(module.toString());
/**
* 获取class为List的ul中的列表,然后进行遍历
*/
Elements recommElement = moduledoc.select(".recomm");
for (Element elem : recommElement) {
Document clearfixliDoc = Jsoup.parse(elem.toString());
//获取标题
Elements h3_text = clearfixliDoc.select("h3");
//获取简介
Elements detail_text = clearfixliDoc.select(".detail");
Document hrefDoc = Jsoup.parse(detail_text.toString());
//获取更多信息的连接
Element moreEle = hrefDoc.select("a").first();
String absHref = moreEle.attr("href");
System.out.println("获取相应的标题:"+h3_text.text());
System.out.println("获取详情简介:"+detail_text.text());
System.out.println("获取更多:"+moreEle.text());
System.out.println("获取更多信息的连接:"+"https://www.oschina.net"+absHref);
System.out.println("=================================");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
主要是获取开源中国的一些相关信息。
对于分页内容暂时还没思路,这个只是一个简单demo