java网页抓取正则表达如何写?解决100送上

vinegardou 2011-08-02 03:49:58
http://www.ip138.com/ips.asp?ip=14.147.43.45
我要抓取这个网站的“本站主数据:广东省广州市 电信”地址如何抓取?
注:“本站主数据:广东省广州市 电信”地址是随机的,也许换了个ip就变成了"本站主数据:上海市 电信(金山区)"
无论根据什么ip 我只要获取“本站主数据:xxxx”的地址就行。
谢谢了。
...全文
89 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vinegardou 2011-08-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pipi517 的回复:]
Java code

public static void main(String[] args) {
String ip="14.147.43.45";
String url = "http://www.ip138.com/ips.asp";
HttpClient client = new HttpClient();
……
[/Quote]
我想问一下,只要获取“本站主数据:广东省广州市 电信”正则怎么改呢?
你这个正则是获取“<li>本站主数据:广东省广州市 电信</li><li>参考数据一:广东省 电信</li>”吧
DavidChou 2011-08-02
  • 打赏
  • 举报
回复
java正则 Pattern Matcher
皮皮 2011-08-02
  • 打赏
  • 举报
回复

public static void main(String[] args) {
String ip="14.147.43.45";
String url = "http://www.ip138.com/ips.asp";
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);
method.setParameter("ip", ip);
method.getParams().setContentCharset("GBK");
try {
client.executeMethod(method);
int statecode = method.getStatusCode();
if (statecode == HttpStatus.SC_OK) {
String temp=method.getResponseBodyAsString();
String rex = "<li>.*</li>";
Pattern p = Pattern.compile(rex);
Matcher m = p.matcher(temp);
if(m.find()){
System.out.println(m.group());
}

}
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


小蝸牛 2011-08-02
  • 打赏
  • 举报
回复
用jsoup框架,强烈摧荐,我用过非常的好用!

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧