解析html,中国气象天气
刚开始想在页面加一个天气信息的功能,找来找去就找到个中国气象的,但是没有外国的天气信息,据说信息还不是实时的,后来用了雅虎的天气API,但是解析html的方法还是记一下,不知道为什么百度解析html的架包老是不全,报错以后又重新找一个,还是报错,连续3次以后我以为不应该再是架包的问题了,纠结了好半天,请教大神以后才知道少了一个架包!!坑爹!!HTML解析架包相同遭遇的点这里。。。。
下面是代码,入门级,简单易懂:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 |
package
com.html.dao; import java.net.HttpURLConnection; import java.net.URL; import org.htmlparser.Parser; import org.htmlparser.visitors.TextExtractingVisitor; public
class ch { public
static void main(String[] args) { String coding= "101210101" ; //杭州代码 String weather= "" ; try { Parser parser = new
Parser( (HttpURLConnection) ( new
URL( "http://www.weather.com.cn/data/cityinfo/" +coding+ ".html" )).openConnection() ); TextExtractingVisitor visitor = new
TextExtractingVisitor(); parser.visitAllNodesWith(visitor); String textInPage = visitor.getExtractedText(); //测试的时候是utf-8,但是到项目里就要gbk了....当时纠结了好一会,遇到乱码就多试一下 weather= new
String(textInPage.getBytes( "utf-8" ), System.getProperty( "file.encoding" )); } catch ( Exception e ) { } String a[] = weather.split( "\"" ); System.out.println(a[ 21 ]);; } } |
获得本机IP的方法,貌似不能用,总是在变的
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
public static void main(String[] args) { String data= "" ; try { Parser parser = new
Parser( (HttpURLConnection) ( new
URL( "http://61.4.185.48:81/g/" )).openConnection() ); TextExtractingVisitor visitor = new
TextExtractingVisitor(); parser.visitAllNodesWith(visitor); String textInPage = visitor.getExtractedText(); data= new
String(textInPage.getBytes( "utf-8" ), System.getProperty( "file.encoding" )); } catch ( Exception e ) { } String a[] = data.split( "_" ); System.out.println(a[ 1 ]); } |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。