📄 qqweatherutil.java
字号:
package com.redmoon.forum.miniplugin.weather;import java.net.URL;import java.net.HttpURLConnection;import java.io.BufferedReader;import java.io.InputStreamReader;import org.apache.log4j.Logger;import java.util.regex.Pattern;import java.util.regex.Matcher;import cn.js.fan.util.ErrMsgException;import cn.js.fan.web.Global;public class QQWeatherUtil { Logger logger = Logger.getLogger(WeatherUtil.class.getName()); public QQWeatherUtil() { } public String gather(String link) { String str = ""; try { URL url = new URL(link); HttpURLConnection huc = (HttpURLConnection) url.openConnection(); String type = huc.getContentType(); String charset = "utf-8"; int index = type.indexOf("charset="); if (index != -1) { index = index + 8; charset = type.substring(index).trim(); } else charset = "gb2312"; BufferedReader reader = new BufferedReader( new InputStreamReader(huc.getInputStream(), charset)); String line = reader.readLine(); while (line != null) { str += line; line = reader.readLine(); } reader.close(); huc.disconnect(); } catch (Exception e) { logger.error("gather: " + e.getMessage()); } return str; } public String getWeather() { String content = gather("http://weather.news.qq.com/inc/ss59.htm"); return parseWeatherQQ(content); } public String parseWeather163(String content) { String patternStr = "", replacementStr = ""; Pattern pattern; Matcher matcher; String str = ""; patternStr = "<div class=\\\"wetMain\\\">(.*)</div>"; pattern = Pattern.compile(patternStr, Pattern.DOTALL); matcher = pattern.matcher(content); if (matcher.find()) { str = matcher.group(1); str = str.replaceAll("\\.\\./images", "http://mimg.163.com/tianqi/images"); str = str.replaceAll("detail\\(\\);", ""); str = str.replaceAll("tomorrow\\(\\);", ""); } return str; } public String parseWeatherQQ(String content) { String patternStr = ""; Pattern pattern; Matcher matcher; String str = ""; patternStr = "<table width=\\\"189\\\" border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\" background.*?height=\\\"3\\\"></td></tr>"; pattern = Pattern.compile(patternStr, Pattern.DOTALL); matcher = pattern.matcher(content); if (matcher.find()) { str = matcher.group(0); str = str + "</table>"; str = str.replaceAll("width=\\\"189\\\"", "width=100%"); str = str.replaceAll("background=\"/images/r_tembg2.gif\"", ""); str = str.replaceAll("background=\"/images/r_tembg4.gif\"", ""); str = str.replaceAll("background=\"/images/r_tembg5.gif\"", ""); str = str.replaceAll("width=\"72\"", "width=50%"); str = str.replaceAll("width=\"117\"", "width=50%"); str = str.replaceAll("<tr><td colspan=\"2\"><img src=\"/images/r_tembg1.gif\" width=100% height=\"6\"></td>", ""); str = str.replaceAll("<tr><td colspan=\"2\"><img src=\"/images/r_tembg3.gif\" width=100% height=\"3\"></td></tr>", ""); str = str.replaceAll("/images", "http://weather.news.qq.com/images"); } return str; } public String parseWeather(String content) { String patternStr = ""; Pattern pattern; Matcher matcher; String str = ""; patternStr = "<table width=\\\"200\\\".* </table></td>"; pattern = Pattern.compile(patternStr, Pattern.DOTALL); matcher = pattern.matcher(content); if (matcher.find()) { str = matcher.group(0); str = str.replaceAll("/weathericons", "http://weather.china.com.cn/weathericons"); str = str.replaceAll("/city/58248_full.html", Global.getRootPath() + "/forum/miniplugin/weather/58248_full.htm"); str = str.replaceAll("<table width=\\\"200\\\"", "<table width=172"); str = str.replaceAll("<td height=\"20\">", "<td height=0>"); str = str.replaceFirst("<td width=\"29\" align=\"center\"><img src=\"/images/t_2.gif\" width=\"19\" height=\"13\">", "<td width=1>"); str = str.replaceFirst("未来天气", ""); str = str.replaceFirst("<td width=\\\"65\\\"", "<td width=15"); str = str.replaceFirst("<td width=\\\"67\\\"", "<td "); str = str.replaceFirst("<td width=\\\"73\\\"", "<td "); } return str; } public void createIncFile(String content, String fullcontent) throws ErrMsgException { String str = ""; str += "<%@ page pageEncoding='utf-8' contentType='text/html;charset=utf-8' %>"; str += content; cn.js.fan.util.file.FileUtil fu = new cn.js.fan.util.file.FileUtil(); fu.WriteFileUTF8(Global.realPath + "forum/miniplugin/weather/58248.htm", str); str = "<%@ page pageEncoding='utf-8' contentType='text/html;charset=utf-8' %>"; str += "<style>TD {FONT-SIZE: 9pt;}</style>"; str += "<table align=center><tr><td>" + fullcontent + "</td></tr></table>"; fu.WriteFileUTF8(Global.realPath + "forum/miniplugin/weather/58248_full.htm", str); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -