是这样,由于同事工作需要,查询此网页的数据,比如http://www.xzqh.org/quhua/36jx/1121sr.htm,要查询里面每个镇每个乡,以及他的人口,比如 我输入这个网址,一点按钮,下面自动把这个页面的每个镇对应的人口输出来,如 旭日街道 52129人
田墩镇 56031人
湖村乡 47644人最好这个结果是表格形式,我可以直接复制到ecxel中,当然实在不行也没关系,只要出现正确的结果,可以复制也行。
希望用gui做,直观,需要直接可以运行的jar程序,也就是要麻烦你做好了打包,发到这个邮箱[email protected],当然java运行环境我会自己去下载。发邮件的时候麻烦写上你的id,我好结贴。谢谢
十万火急啊
田墩镇 56031人
湖村乡 47644人最好这个结果是表格形式,我可以直接复制到ecxel中,当然实在不行也没关系,只要出现正确的结果,可以复制也行。
希望用gui做,直观,需要直接可以运行的jar程序,也就是要麻烦你做好了打包,发到这个邮箱[email protected],当然java运行环境我会自己去下载。发邮件的时候麻烦写上你的id,我好结贴。谢谢
十万火急啊
http://prj.csdn.net/
[email protected]
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.SwingWorker;public class GetWebInfo {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new WebFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}class WebFrame extends JFrame {
private JPanel northPanel;
public WebFrame() {
northPanel = new JPanel();
add(northPanel, BorderLayout.NORTH);
northPanel.setLayout(new GridLayout(0, 2));
northPanel.add(new JLabel("Url: ", SwingConstants.TRAILING));
final JTextField urlField = new JTextField();
northPanel.add(urlField);
final JTextArea result = new JTextArea(20, 40);
add(new JScrollPane(result));
JPanel southPanel = new JPanel();
add(southPanel, BorderLayout.SOUTH);
JButton getButton = new JButton("get");
southPanel.add(getButton);
getButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.out.println("run here 1");
new SwingWorker<Void, Void>() {
protected Void doInBackground() throws Exception {
result.setText(getWebInfo(urlField.getText()));
return null;
}
}.execute();
}
});
pack();
}
public String getWebInfo(String url) {
String html = getHtml(url, "gbk");
StringBuilder sb = new StringBuilder();
if(html != null) {
Pattern pattern = Pattern.compile("<B>([^<]+)</B>.*?人口:(\\d+)人", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Matcher m = pattern.matcher(html);
while(m.find()) {
if(m.group(1) != null && m.group(2) != null) {
sb.append(m.group(1)).append(" ").append(m.group(2)).append("\n");
}
}
}
return sb.toString();
}
public static String getHtml(String tempurl, String code) {
try {
URL url = new URL(tempurl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,
code));
String line = "";
StringBuffer resultBuffer = new StringBuffer();
while ((line = br.readLine()) != null) {
resultBuffer.append(line);
}
br.close();
is.close();
conn.disconnect();
return resultBuffer.toString();
} catch (Exception e) {
}
return null;
}
}
wo bu hui da bao sheng cheng jar
辖湖山、大屋、麻墩、黄沙、源溪、中洲、蔡家等7个村委会。乡政府驻旗杆底。铁山乡 面积:48k㎡ 人口:13381人 邮编:334121 代码:361121211
辖西岩、铁山、九狮畲族、大溪、小溪等5个村委会。
......点排序按钮,选择“比较由正则表达式定义的字符串”,输入下面的正则表达式和目标字符串:
正则表达式:^*[\t \12288]?*人口:[0-9]+人
目标字符串:%01\t%05
点“将目标字符串拷贝到剪贴板”,即可将你要的数据拷贝到剪贴板。以TAB键分隔:
旭日街道 52129
罗桥街道 24000
田墩镇 56031
上泸镇 26477
华坛山镇 22468
茶亭镇 38802
皂头镇 32588
四十八镇 21937
枫岭头镇 35699
煌固镇 49393
花厅镇 31026
五府山镇 21358
郑坊镇 26364
望仙乡 17231
石人乡 30752
清水乡 25740
石狮乡 19893
湖村乡 47644
董团乡 40929
尊桥乡 29110
应家乡 29446
黄沙岭乡 23311
铁山乡 13381
http://www.xzqh.org/quhua/42hb/0303zw.htm
http://www.xzqh.org/quhua/42hb/1182wx.htm现在请麻烦重新针对武汉再搞一个,我会给分的,当然,前面的做好的我也会给分,谢谢。