利用Jsoup解析网页,抓取数据的简单应用
2014-03-29 09:54
357 查看
最近一直在公司利用爬虫技术,去抓取一些网页查询网站备案信息,刚开始使用HttpClient 和 jericho (这两个也挺好用你可以去测试一下)。但是后来发现了Jsoup,他和Jquery很相似,在搜节点上使用的技术几乎相似。所以凡是使用过Jquery的都可以去尝试使用Jsoup去解析抓取数据。下面举个例子我们去抓去所有公交车的信息(哥是郑州的哈)。
在解析之前你需要jar包,你可以去http://jsoup.org/直接下载。如果使用maven更方便 只需引进依赖
例如
好了下面进入正题,我将用一个实例来证明怎么去连接网站,抓取,最后解析的过程:
运行程序输入你想要查询的站点,便可以得到你想要的数据,如下图:
在解析之前你需要jar包,你可以去http://jsoup.org/直接下载。如果使用maven更方便 只需引进依赖
例如
<dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.7.3</version> </dependency>
好了下面进入正题,我将用一个实例来证明怎么去连接网站,抓取,最后解析的过程:
package parserhtml; import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; public class ParserCarHtml { static String url = "http://218.28.136.21:8081/line.asp";//公交website public static Document getHtml(String domain){ Document html = null; try { //与网站建立连接,并拿到页面。(注意这里?号一定要加上,这也是抓取页面的过程,如果在浏览器中没有?,不用写,这点你可以参考浏览器是怎么解析的,然后试图模 //仿,不过今年来有些人用于非法解析,所以有些网站防爬虫,但是不用怕,在Jsoup中Connection中提供了一系列,添加Cookie,和一些请求参数的方法,这点你可以把 // 浏览器中的参数以key - value的形式copy进去 ,那么你的程序将模拟一个浏览器例如: // Jsoup.connect(url+"?xl="+domain).data("", "").cookie("", "").get(); 这里面填写的分别是浏览器中的信息,你可以鼠标右键,审查元素,然后可以找到相应信息。*/ html = Jsoup.connect(url+"?xl="+domain).get(); } catch (IOException e) { e.printStackTrace(); } return html; } public static String PaserHtml(Document html){ Elements node = html.select("a");//进行你需要的选择元素。我的这个解析网站比较简单。你可以利用Jsoup中提供的方法去获取一些需要的元素。 String html1 = node.toString(); String html2 = html1.replaceAll("\\p{Punct}", "").replaceAll("[a-zA-Z]", "").replaceAll("\\p{Digit}", "");//利用正则表达式去解析网站 return html2; } public static void main(String[] args) { getHtml("904");//这里的904是我随便输入的公交车路线。 PaserHtml(getHtml("904")); System.out.println(PaserHtml(getHtml("904"))); } }
运行程序输入你想要查询的站点,便可以得到你想要的数据,如下图:
相关文章推荐
- Android 利用jsoup 抓取腾讯应用市场的软件APP,作为我们自己应用的数据
- 使用java开源工具httpClient及jsoup抓取解析网页数据
- httpClient及jsoup抓取解析网页数据
- 使用java开源工具httpClient及jsoup抓取解析网页数据
- 《JavaWeb---简单应用---练习JDBC,JSTL》---上传Excel文件,利用工具包解析,将数据储存到数据库中,可以查询删除
- 使用java开源工具httpClient及jsoup抓取解析网页数据
- Android 利用jsoup 抓取腾讯应用市场的软件APP,作为我们自己应用的数据
- 利用Java实现简单的抓取网页数据并存放于plist中
- 使用HttpClient和Jsoup进行简单数据抓取、解析
- Jsoup 网页抓取数据之获取汽车时刻表 实例解析
- 使用java开源工具jsoup抓取解析网页数据
- java简单实现爬虫、jsoup实现网页抓取、POI实现数据导出Excel
- 使用java开源工具httpClient及jsoup抓取解析网页数据
- 网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
- 网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
- 利用HttpClient和Jsoup实现从网站中抓取数据
- 利用Python抓取和解析网页 .
- 网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
- R语言实现简单的网页数据抓取
- [Jsoup] 模拟浏览器:get方式简单获取网页数据(一)