读书人

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

发布时间: 2013-02-24 17:58:56 作者: rapoo

Jsoup网页内容抓取分析(1)
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

?

?

?

?


确实是很好的! 7 楼 linweibin 昨天 mz0827 写道我觉得jsoup还是只用来解析html比较好。获取html可以使用Apache的HttpClient,3或者4都可以
这两个一般都是结合使用的 8 楼 cjp1989 昨天 linweibin 写道mz0827 写道我觉得jsoup还是只用来解析html比较好。获取html可以使用Apache的HttpClient,3或者4都可以
这两个一般都是结合使用的
赞同,谢谢指教,现在在做通用配置,还有好多要解决的问题! 9 楼 superchinaren 昨天 问一个问题。如何我要爬不同的网站上的内容。是不是要针对不同的网站写不同的解析代码?有没有统一处理的。 10 楼 cjp1989 昨天 superchinaren 写道问一个问题。如何我要爬不同的网站上的内容。是不是要针对不同的网站写不同的解析代码?有没有统一处理的。
这个我正在做通用配置,有很多的参数要设置,根据div,table不同,从数据库里读取配置信息。大部分的网站是可以统一处理的额 11 楼 linweibin 昨天 superchinaren 写道问一个问题。如何我要爬不同的网站上的内容。是不是要针对不同的网站写不同的解析代码?有没有统一处理的。
用jsoup大部分的网站都是可以做同意处理的,特别是像新闻类的网站或者微博 12 楼 cjp1989 昨天 linweibin 写道用jsoup大部分的网站都是可以做同意处理的,特别是像新闻类的网站或者微博
我现在就是做的新闻类网站的内容截取,分析

读书人网 >JavaScript

热点推荐