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 = "<html><head><title>First parse</title></head>"  
  2.   + "<body><p>Parsed HTML into a doc.</p></body></html>";  
  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  

 <script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值