有很多网站提供从其他网站提取新闻甚至是从向翻译网站取内容

由于手头做的网站需要涉及这个方面的内容,所以最近研究了一下

这里把我的一点小心得写给大家

希望大家讨论共同进步

首先我觉得这种功能的实现其实是依靠对数据包的解析

我的思路是把网站的整个源码先截取下来

然后对包的每一行HTML代码进行分析

找到需要的内容的HTML代码的共性

再提取这些共性代码出来

最后精简掉这些多余的代码得到需要内容

我写了一个粗略的程序来获取金山词霸的翻译

贴上让大家看看

顺便问达人这ENCODE的转化怎么完成

我想好久都没能解决

import java.net.*;

import java.io.*;

public class gethead

{

public static String str = "

int.";

public static String end = "

";

URL url;

URLConnection uc;

InputStream in;

DataInputStream din;

String get;

StringBuffer sb;

StringBuffer add;

DataInputStream in1;

public gethead()

{

int i=0;

sb = new StringBuffer();

add = new StringBuffer();

add.append("http://cb.kingsoft.com/search?s=");

System.out.println("Input the word you want to get:");

try

{

in1 = new DataInputStream(System.in);

String word = in1.readLine();

add.append(word).append("&lang=utf-8");

url = new URL(add.toString());

uc = url.openConnection();

in = uc.getInputStream();

din = new DataInputStream(in);

while((get = din.readLine())!=null)

{

if((get.indexOf(str))!=-1)

{

i=i+1;

}

if(i!=0)

{

sb.append(get);

}

if(get.indexOf(end)!=1)

{

i=0;

}

}

String oot = sb.toString();

oot = oot.replaceAll(str,"");

oot = oot.replaceAll(end,"");

//oot = java.net.URLEncoder.encode(oot);

oot = new String(oot.getBytes("UTF-8"),"GB2312");

System.out.println(oot);

}catch(IOException e)

{}catch(Exception e)

{}

}

public static void main(String[] args)

{

gethead g = new gethead();

}

}

技术的核心是截取数据流,再进行分析提取,看起来还是比较简单的,但是难点在对HTML的源代码的具体分析和操作上

其实这个技术的应用我个人觉得还是会比较广泛的

在网络的数据流的分析应用上还是比较简单易用的

java取网页数据_浅析JAVA实现网页取内容相关推荐

  1. java抓取页面数据_通过java抓取任何指定网页的数据

    假设你需要获取51job人才网上java人才的需求数量,首先你需要分析51job网站的搜索这一块是怎么运作的,通过解析网页的源代码,我们发现了以下一些信息: 1. 搜索时页面请求的URL是 http: ...

  2. java 线程组作用_浅析Java中线程组(ThreadGroup类)

    一.概念 Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线 ...

  3. r语言抓取网页数据_使用R进行网页抓取的简介

    r语言抓取网页数据 by Hiren Patel 希伦·帕特尔(Hiren Patel) 使用R进行网页抓取的简介 (An introduction to web scraping using R) ...

  4. java 取整符号_浅析java中的取整(/)和求余(%)

    1.取整运算符 取整从字面意思理解就是被除数到底包含几个除数,也就是能被整除多少次,那么它有哪些需要注意的地方呢?先看下面的两端代码: int a = 10; int b = 3; double c= ...

  5. java枚举对象作用_浅析Java编程中枚举类型的定义与使用

    定义枚举类型时本质上就是在定义一个类,只不过很多细节由编译器帮您补齐了,所以某些程度上,enum关键字的 作用就像是class或interface. 当您使用"enum"定义枚举类 ...

  6. java定时产生随机数_浅析Java随机数与定时器

    产生90-100的重复的随机数: public class RandomTest { public static void main(String[] args){ /* * Math.random( ...

  7. Java存储任意对象_浅析java设计模式(一)----异构容器,可以存储任何对象类型为其他类提供该对象...

    最近在着手重构一个java UI桌面项目,发现这个项目在一开始的时候由于需求不明确,以及开发人员对swing框架不熟悉等问题造成了页面代码混乱的情况:为了能够在各个类里都可以拿到其他类的引用去进行相应 ...

  8. java 读取mysql数据_使用java从mysql数据库读取数据

    首先,我正在使用jTextFields阅读用户的产品名称和产品数量.对于该产品,我使用sql查询从数据库中读取产品ID和价格.但是在下面的代码中我在jtextField中显示产品价格,但是在运行tha ...

  9. java接收xml数据_关于java后台如何接收xml格式的数据

    业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...

最新文章

  1. 假期怎么提升Python技能?100+编程题给你练~
  2. LeetCode 滑动窗口(Sliding Window)类问题总结
  3. k8s 自定义dns_K8S 生态周报| Docker v19.03.10 正式发布
  4. hibernate教程--常用配置和核心API
  5. 卡扇区数据教程_硬盘有坏道了?如何对硬盘进行扇区级复制及数据恢复?
  6. 如何改造现有文件为 CMD 模块
  7. [蓝桥杯][算法提高VIP]Sharing Chocolate(状压dp记忆化搜索)
  8. 程序员面试金典 - 面试题 17.24. 最大子矩阵(转成一维最大子序和 DP)
  9. 大数据技术之 Kafka (第 3 章 Kafka 架构深入 ) Kafka 生产者
  10. java中堆和栈的区别_java中堆和栈的区别
  11. Android实现截屏功能(已适配Android11)
  12. echarts 文本标签配置、label文字样式
  13. 用python编写鸡兔同笼问题
  14. Kali-DDoS工具集合
  15. 计算机无法传输文件,手机连接电脑无法互传文件怎么办
  16. 对视频文件进行简单的加密
  17. treegrid 与java交互_EXTJS实现的TREEGRID(后台java,框架SpringMVC)
  18. 怎么把html的网页做成视频,html5网页中怎么加入视频?怎么为网页添加视频?
  19. 浏览器首页被2345、hao123锁定了,怎么办
  20. 趣谈唯一邀请码生成方法

热门文章

  1. java数组如何pop_Js数组的操作push,pop,shift,unshift等方法详细介绍
  2. MMD_3a_CommunitiesInSN
  3. python基础练习题
  4. Java语言程序设计(基础篇)第七章(2 18 34)
  5. pandas 读写 excel 数据
  6. windows10 自动开机、关机
  7. 【ES6】数值的拓展
  8. java学生-成绩关联实体_java毕业设计_springboot框架的学生成绩智能管理
  9. mysql备份数据库语句6_13.4 MySQL用户管理;13.5 常用sql语句;13.6 MySQL数据库备份恢复...
  10. c语言 简单编程题,c语言简单编程练习题.doc