欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-26 23:15:23
...

  在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代码  Jsoup网页内容抓取分析(1)
            
    
    博客分类: java爬虫搜索 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代码  Jsoup网页内容抓取分析(1)
            
    
    博客分类: java爬虫搜索 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代码  Jsoup网页内容抓取分析(1)
            
    
    博客分类: java爬虫搜索 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 
相关标签: java爬虫搜索