当前位置:首页 > 开发 > 开源软件 > 正文

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

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

     在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片段

       

String html = "<html><head><title>First parse</title></head>"
  + "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);//分析文档,使用doc.toString()可以转为文本
Element body=doc.body();//获取body片段,使用body.toString()可以转为文本

     

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

 

     

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

  

/**
 *根据url直接获取内容,可以加入超时,get方法不行,就用post方法
 *我在实际应用中,出现404,405,504等错误信息
 *将get改为post就可以,或者反过来改
 *如果等以后弄明白了,再来解释清楚
 */
Document doc1 = Jsoup.connect("http://www.hao123.com/").get();
String title = doc1.title(); //获取网页的标题
String content=doc1.toString();//将网页转为文本

Document doc2 = Jsoup.connect("http://www.hao123.com")
  .data("query", "Java")//请求参数
  .userAgent("Mozilla")//设置urer-agent
  .cookie("auth", "token")//设置cookie
  .timeout(50000)//设置连接超时
  .post();//或者改为get

 

 

 

 

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
针对上一篇写的内容很简单,只是给大家抛出了有一个工具可以用来分析网页的内容,做java搜索爬虫使
对网页内容的抓取比较的感兴趣,于是就简单的学习了一下,如果不使用任何的框架去抓取网页的内容,
最近初步接触HTML的页面抓取技术,之前曾涉及较多的是XML解析,对于XML解析方法非常的多,使用dom4j
之前用过HTMLParser,许久不更新的东西了,印象中也没那么好用。 今天重新搜索了一下,发现jsoup很容
思路:根据给定URL分析其源码,得到所需的网页内容的位置,制定规则采集或下载之 采集的图片和文字
  网络爬虫的基本操作是抓取网页。那么如何才能随心所欲地获得自己想要的页面?这一节将从URL开始
package com.hmw.net; import java.io.BufferedReader; import java.io.BufferedWriter; import jav
用Python实现常规的静态网页抓取时,往往是用urllib2来获取整个HTML页面,然后从HTML文件中逐字查找
  通过程序自动的读取其它网站网页显示的信息,类似于爬虫程序。比方说我们有一个系统,要提取Bai
  通过程序自动的读取其它网站网页显示的信息,类似于爬虫程序。比方说我们有一个系统,要提取Bai
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号