Jsoup网页内容抓取分析(1)

   在Java 程序在解析HTML 文档时,大家应该晓得htmlparser 这个开源项目,我也是使用过,不过这个程序到了2006年就没有更新了。由于我的基础较差,对于扩展自定义的标签还是不太懂,还是有超时问题困扰,偶然的机会中发现有jsoup,而且更新到了1.72版,使用起来还是很容易上手的。下面写些使用心得:

        jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.

       jsuop是一款java的html解析器,提供一套非常省力的API,通过dom模型css和类似于jquery的方式来获取和操作数据。

      功能:1.解析一个Html文档,2.解析一个body片段

       

Java代码   收藏代码
  1. String html = "First parse"  
  2.   + "

    Parsed HTML into a doc.

    "
    ;  
  3. Document doc = Jsoup.parse(html);//分析文档,使用doc.toString()可以转为文本  
  4. Element body=doc.body();//获取body片段,使用body.toString()可以转为文本  

     

      获取方式:1.从本地文件加载   2.根据url地址获取

 

     

Java代码   收藏代码
  1. /**使用静态 Jsoup.parse(File in, String charsetName, String baseUri) 方法 
  2.  *其中baseUri参数用于解决文件中URLs是相对路径的问题。 
  3.  *如果不需要可以传入一个空的字符串。 
  4.  */  
  5. File input = new File("/tmp/input.html");  
  6. Document doc = Jsoup.parse(input, "UTF-8""http://example.com/");  

  

Java代码   收藏代码
  1. /** 
  2.  *根据url直接获取内容,可以加入超时,get方法不行,就用post方法 
  3.  *我在实际应用中,出现404,405,504等错误信息 
  4.  *将get改为post就可以,或者反过来改 
  5.  *如果等以后弄明白了,再来解释清楚 
  6.  */  
  7. Document doc1 = Jsoup.connect("http://www.hao123.com/").get();  
  8. String title = doc1.title(); //获取网页的标题  
  9. String content=doc1.toString();//将网页转为文本  
  10.   
  11. Document doc2 = Jsoup.connect("http://www.hao123.com")  
  12.   .data("query""Java")//请求参数  
  13.   .userAgent("Mozilla")//设置urer-agent  
  14.   .cookie("auth""token")//设置cookie  
  15.   .timeout(50000)//设置连接超时  
  16.   .post();//或者改为get  

 

你可能感兴趣的:(随笔)