`

Java抓区网页信息

    博客分类:
  • java
阅读更多

形式像下面这样

String content = "";
HttpURLConnection conn = null;
try {
    conn = (HttpURLConnection) (new URL(url).openConnection());
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
    String temp = null;
    StringBuffer buffer = new StringBuffer();
    while( (temp = reader.readLine()) != null){
        buffer.append(temp);
    }
    content = buffer.toString();
} finally {
    if (null != conn) conn.disconnect();
}

 

举例:
需要在Google地图中抓取上海东方明珠的地理坐标及其他信息,抓取的信息和Google地图中搜索"上海 东方明珠"的数据一样。

String url = 'http://ditu.google.cn/maps?f=q&hl=zh-CN&q=' + URLEncoder.encode("上海 东方明珠","UTF-8") + '&btnG=%E6%90%9C%E7%B4%A2%E5%9C%B0%E5%9B%BE&output=kml';
String content = "";
HttpURLConnection conn = null;
try {
    conn = (HttpURLConnection) (new URL(url).openConnection());
    BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
    String temp = null;
    StringBuffer buffer = new StringBuffer();
    while( (temp = reader.readLine()) != null){
        buffer.append(temp);
    }
    content = buffer.toString();
} finally {
    if (null != conn) conn.disconnect();
}

 /*
content 中存放以字符串形式的xml文档
假设content = "<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://earth.google.com/kml/2.0"><Folder><name>上海 东方明珠 (1 - 1)

<Placemark><name>上海市浦东新区东方明珠</name><Point><coordinates>13.22,16.5</coordinates><address>浦东新区陆家嘴

</address><Point><coordinates>121.499691,31.238893</coordinates></Point></address><Point><coordinates>116.480876,39.880054,0</coordinates></Po

int></Folder></kml>"
*/
解析出数据

java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("<Placemark><name>([^<]+)|<address>([^<]+)|<coordinates>([^<]+)");
Matcher m = pattern.matcher(content);
int idx = 0;
while(m.find()) {
    switch(idx % 3) {
        case 0: System.out.println("name:" + m.group(1));
                 break;
        case 1: System.out.println("address:" + m.group(2));
                 break;
        case 2: System.out.println("coordinates:" + m.group(3));
                 break;
    }
}

 

分享到:
评论

相关推荐

    Java抓取https网页数据

    Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)

    java实现网络抓包

    对于数据包的抓取,Java本身并不提供原生的抓包功能。因此,我们通常会借助于第三方库,例如Jpcap,这是一个Java接口,允许程序捕获、过滤、分析和保存网络数据包。Jpcap提供了类似于libpcap(一个广泛用于抓包的C库...

    JAVA网络抓包程序Java源码

    【标题】"JAVA网络抓包程序Java源码"所涉及的知识点主要集中在Java编程语言以及网络数据包捕获技术上。网络抓包是网络分析的一种重要手段,它可以帮助开发者、网络安全专家或普通用户查看网络通信的详细信息。在这个...

    需要cookie验证的java抓包程序

    总结,这个Java抓包程序专注于处理需要cookie验证的网页,通过Java的网络编程能力实现HTTP请求的发送,处理cookie,抓取并解析数据包,以获取和分析用户信息。对于开发者来说,理解并使用这个程序可以帮助他们深入...

    java课程设计java jsoup 爬取1688网站信息,详细例子

    在这个项目中,我们关注的是使用Java和Jsoup库来爬取1688网站的信息。这是一个非常实用的技术,它可以帮助我们自动化地获取网页上的数据,如商品名称、价格、评价等,为数据分析或构建电商平台的模拟系统提供基础。 ...

    java抓包程序jsoup实例

    Java抓包程序是一个用于捕获和分析网络数据流的工具,通常用于开发、调试和测试网络应用程序。在本例中,我们关注的是使用Jsoup库进行网页数据抓取的实践应用。Jsoup是一个非常强大的Java库,它允许开发者解析HTML...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包实例源码JAVA开发源码55个合集.zip

    JAVA网络抓包程序.rar Java转换xml.rar java项目源码在线相册系统.rar 书籍管理系统.rar 企业进销存管理系统.rar 传奇私服登录器Java版附源代码.rar 修改表头加密数据库.rar 分离SQL Server数据库.rar 单位固定资产...

    google,baidu,bing网页搜索(java实现)

    这个程序的功能是利用常用的搜索引擎搜索关键词获得搜索结果,然后访问每个搜索结果将排在前面的所有网页的文本信息全部抓下来。 程序采用多线程(不超过20个,保证不影响其他程序)和超时设置(默认10秒),自己...

    Java网页快照及flash播放20130117

    Java跟进URL生成网页快照图片,包含了3个jar及2个java文件. 缺点是不能生成flash的快照,比如不能抓优酷视频的截图. 不过Java网页快照基本上还是够用了.

    抓网页获取本机ip地址java实用.pdf

    抓网页获取本机ip地址java实用.pdf

    java抓取新闻 抓新闻 抓网站新闻

    网络爬虫是自动抓取互联网信息的一种程序,它可以帮助我们收集、整理和分析大量的网页数据。本示例提供了如何使用Java来抓取Google和QQ网站的新闻。 首先,我们需要理解网络爬虫的基本原理。网络爬虫通过发送HTTP...

    java编写的网站图片抓取小程序

    该程序是一个基于Java SE开发的简单网站图片抓取工具,主要展示了如何利用Java进行网络请求和数据解析,特别适用于初学者了解和学习Java网络编程。在这个项目中,开发者并未依赖任何特定的框架,而是直接使用Java的...

    java源码包3

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包2

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    抓网页获取本机ip地址java参考.pdf

    2. **读取网页信息**:一旦建立了连接,我们可以使用`openStream()`方法获取网页的输入流,然后使用`BufferedReader`或`InputStreamReader`来读取内容。在这个案例中,代码没有直接显示如何读取和处理网页内容,但...

    抓网页获取本机ip地址java.pdf

    在Java编程中,获取本机IP地址有多种方法,而从...因此,对于获取本机IP地址,更推荐使用Java的`InetAddress`类或`NetworkInterface`类,它们可以从操作系统获取本机的网络接口信息,包括IP地址,而无需依赖外部网站。

    抓取预警信息(全国数据10分钟更新一次).zip

    标题中的“抓取预警信息(全国数据10分钟更新一次).zip”表明这是一个与实时气象预警信息抓取相关的项目,其中的数据每10分钟进行一次全国范围的更新。这通常涉及到网络爬虫技术,用于从指定的气象网站或者API接口...

    java开源包6

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

    java开源包9

    jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列...

Global site tag (gtag.js) - Google Analytics