看到标题,你会猜到这篇文章要讲的内容吗?你可能猜到了,就是爬虫相关的内容。爬虫最重要的流程就是抽取页面数据,通俗的讲法就是解析数据如何解析一个HTML页面,我认为最简单的方式之一就是使用jsoup。
1.什么是jsoup
![](https://img.haomeiwen.com/i946029/56af64bf527558d8.png)
jsoup 是一款基于Java类库开发的HTML解析器,它提供了一套非常方便的API用户HTML页面数据的抽取。可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。
看看jsoup的官网https://jsoup.org/,对jsoup描述的很清楚。
- scrape and parse HTML from a URL, file, or string
- find and extract data, using DOM traversal or CSS selectors
- manipulate the HTML elements, attributes, and text
- clean user-submitted content against a safe white-list, to prevent XSS attacks
- output tidy HTML
2.jsoup简单示例
PM提的一个简单的需求,要求爬取百度热点新闻,找到热点新闻页,做了简单分析后开始编码。具体代码如下:
代码示例:
String html = HttpUtils.doGet(requestUrl, "GB2312");
Document doc = Jsoup.parse(html);
Element content = doc.getElementById("pane-news");
Elements elements = content.getElementsByTag("a");
int count =1;
for (Element ele : elements){
System.out.println(ele);
String title = ele.html();
System.out.println(title);
String href = ele.getElementsByTag("a").first().attr("href");
ele.getElementsByTag("a").first().attr("href");
href = href.replaceAll("n", "");
System.out.println(href);
}
3.总结
使用jsoup解析HTML非常方便,同时jsoup扩展性设计的也非常好,可以结合自己的需求开发出强大的选择器。如果你正好使用Java语言,又需要对HTML进行处理,可以来试试jsoup。
网友评论