htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或
提取html。它能超高速解析html。
该程序是基于命令窗口模式,用htmlparser去抓取页面上的天气信息。
这是 网页的截图
通过观察地址栏,我们可以知道页面接收一个中文的参数,这个参数 为城市名,所以我们在程序中可以接收用户传进来的城市名来的道相对应的网页。
程序的包结构如下
Weather的属性
private String city;//城市
private String updateTime;//更新时间
private String dateDesc;//时间描述
private WeatherPoint nowWeather;
private List<WeatherPoint> offDayWeather; //接下来几天的天气
WeatherPoint属性
private String dateDesc;
private String dayT;
private String nightT;
private String dayState;//白天天气状况
private String nightState;//夜晚天气状况
private String dayWind;//白天风向
private String nightWind;//夜晚风向
private String dayWindLevel;//白天风力
private String nightWindLevel;//夜晚风力
WetherUtil
public static Weather getWeather(String city)//通过用户传入的城市名得到封装好的Weather,就可在前台输出信息。
当前的版本只提取一部分基本信息,可以继续扩展提取更多的天气信息。
不过这种得到天气方法有很多问题:
1.方法没有通用行,只能针对一个一个网站设计一个规则。
2.完全依赖于网站的实现,但网站设计更改了,我们的程序就跑不动了。
3.效率不高,要把网站的源码都下下来,再分析,提取出内容。
……
最好的代替方案是调用天气网站提供API。
程序运行界面
程序下载:http://dl.iteye.com/topics/download/11f8144d-ef99-3392-a97c-e7a64b168df5
源码下载:http://dl.iteye.com/topics/download/4e2d3236-d4b7-3bb0-9bfe-edac51015fe4