解析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]);
    }

  

解析html,中国气象天气,布布扣,bubuko.com

解析html,中国气象天气

上一篇:Selenium VS Webdriver


下一篇:Extjs树的各种玩法案例