Java从网页中提取数据并存储在数据库中。

台风的编号和名称直接在源代码里,但我只能追踪时间和地理位置。

功能totf(tfbh){

location.href( "Typhoon.aspx?id = "+tfbh);

}

需要从aspx中获取数据,数据应该存储在数据库中,但是在页面上无法获取。

我觉得可以通过循环模拟发送请求Typhoon.aspx?Id="+XXX ",然后解析响应包就可以得到详细的信息。

下一页是关于模拟发送请求。

/blog/195544

希望对你有帮助。

我写了一段代码来获取一组数据。

//通过参数获取台风内容

公共静态字符串getTyphoon(String param) {

URL url = null

尝试{

url =新URL(param);

} catch(malformedurexception e){

e . printstacktrace();

}

HttpURLConnection连接= null

InputStream为= null

尝试{

connection =(http urlconnection)URL . open connection();

is = connection . getinputstream();

} catch (IOException e) {

e . printstacktrace();

}

BufferedInputStream bis = new BufferedInputStream(is);

int len = 0;

byte[] buf_all =新字节[0];

尝试{

while (true) {

byte[] buf1 =新字节[4096];

byte[]buf 2 = buf _ all;

len = bis . read(buf 1);

if(len & lt;= 0){

打破;

}

buf_all =新字节[len+buf 2 . length];

System.arraycopy(buf2,0,buf_all,0,buf 2 . length);

System.arraycopy(buf1,0,buf_all,buf2.length,len);

}

} catch (IOException e) {

e . printstacktrace();

}

字符串内容= null

尝试{

content = new String(buf_all,“utf-8”);

} catch(UnsupportedEncodingException e){

e . printstacktrace();

}

int startIndex = content . index of(" var ary 0 = ")+9;

content = content . substring(startIndex);

int end index = content . index of(" var aryb 0 = ");

content = content.substring(0,end index);

返回内容;

}

结果是这样的:

[['200906',' 2009-07-19 20: 00: 00',' 23.8',' 109.6','',' 15','','

['200906',' 2009-07-19 15: 00',' 23.5',' 11',' 993',' 65438'.

['200906',' 2009-07-19 14: 00',' 23.3',' 11.2','',' 65438+

['200906',' 2009-07-19 13: 00',' 23.3',' 11.5',' 990',' 65438'.

['200906',' 2009-07-19 12: 00',' 23.2',' 11.8',' 990',' 65438'.

['200906',' 2009-07-19 11: 00',' 23.2',' 11',' 987'.

['200906',' 2009-07-19 10: 00',' 23.2',' 112.4',' 987',' 18'.

['200906 ',' 2009-07-19 09: 00 ',' 23 ',' 112.6 ',' 987 ',' 20 ',' 25 ','西北。

['200906',' 2009-07-19 08: 00: 00',' 22.9',' 112.9',' 987',' 20','',''

['200906 ',' 2009-07-19 07: 00: 00 ',' 22.9 ',' 113.2 ',' 985 ',' 23 ',' 25 ','西北'

['200906 ',' 2009-07-19 06: 00: 00 ',' 22.8 ',' 113.4 ',' 982 ',' 25 ',' 25 ','西北'

['200906 ',' 2009-07-19 05: 00 ',' 22.7 ',' 113.7 ',' 980 ',' 28 ',' 25 ','西北。

['200906 ',' 2009-07-19 04: 00: 00 ',' 22.7 ',' 114 ',' 975 ',' 30 ',' 25 ','西北。

['200906 ',' 2009-07-19 03: 00: 00 ',' 22.7 ',' 114.2 ',' 975 ',' 33 ',' 25 ','西北。

['200906',' 2009-07-19 02: 00: 00',' 22.6',' 114.5',',' 35',','',' 26438.

['200906',' 2009-07-19 01: 00',' 22.5',' 114.5',' 970',' 35',' 28'

['200906 ',' 2009-07-19 00: 00 ',' 22.5 ',' 114.8 ',' 965 ',' 38 ',' 28 ','西北。

['200906',' 2009-07-18 23: 00: 00',' 22.4',' 115.1',',' 38',','

['200906 ',' 2009-07-18 22: 00: 00 ',' 22.3 ',' 115.5 ',' 965 ',' 38 ',' 25 ','西北。

['200906',' 2009-07-18 21: 00',' 22.2',' 115.7',' 965',' 38',' 25'.

['200906',' 2009-07-18 20: 00',' 22.2',' 116','',' 35','',' 260'.

['200906',' 2009-07-18 19: 00',' 22.2',' 116.2',' 970',' 35',' 25'.

['200906',' 2009-07-18 18: 00',' 22.1',' 116.5',' 970',' 35'

['200906',' 2009-07-18 17: 00',' 22',' 116.7',' 970',' 35',' 25'.

['200906',' 2009-07-18 16: 00',' 21.9',' 116.9',' 970',' 35'

['200906',' 2009-07-18 15: 00',' 21.8',' 11',' 970'.

['200906',' 2009-07-18 14: 00',' 21.7',' 117.2',' 970',' 35'

['200906',' 2009-07-18 13: 00',' 21.7',' 117.4',' 970',' 35'

['200906',' 2009-07-18 12: 00',' 21.6',' 117.5',' 975',' 33'

['200906',' 2009-07-18 11: 00',' 21.6',' 117.7',' 975'.

['200906',' 2009-07-18 10: 00',' 21.6',' 117.9',' 975',' 33'

['200906',' 2009-07-18 09: 00: 00',' 21.5',' 118.2',' 975',' 33',' 25'.

['200906',' 2009-07-18 08: 00: 00',' 21.4',' 118.3',' 975',' 33',' 25'.

['200906',' 2009-07-18 07: 00: 00',' 21.4',' 118.5',' 975',' 33',' 25'.

['200906',' 2009-07-18 06: 00: 00',' 21.3',' 118.7',' 975',' 33',' 25'.

['200906',' 2009-07-18 05: 00: 00',' 21.2',' 119',' 975',' 33',','

['200906',' 2009-07-18 04: 00: 00',' 21.2',' 119.2',' 978',' 30',' 25'.

['200906',' 2009-07-18 03: 00: 00',' 21.1',' 119.4',' 978',' 30'

['200906',' 2009-07-18 02: 00: 00',' 21',' 119.6',' 978',' 30',','

['200906',' 2009-07-18 01: 00',' 21',' 120.1',' 978',' 30'.

['200906 ',' 2009-07-18 00: 00 ',' 20.9 ',' 120.3 ',' 978 ',' 30 ',' 25 ','西-西北','

['200906 ',' 2009-07-17 23: 00: 00 ',' 20.8 ',' 120.5 ',' 978 ',' 30 ',' 20 ','西-西北','

['200906 ',' 2009-07-17 22: 00: 00 ',' 20.7 ',' 121 ',' 978 ',' 30 ',' 20 ','西-西北。

['200906',' 2009-07-17 21: 00',' 20.7',' 121.2',' 978',' 30',' 20'.

['200906 ',' 2009-07-17 20: 00 ',' 20.6 ',' 121.5 ',' 978 ',' 30 ',' 20 ','西北。

['200906',' 2009-07-17 19: 00',' 20.4',' 121.8',' 980',' 28',' 20'.

['200906',' 2009-07-17 18: 00',' 20.3',' 121.9',' 980',' 28',' 20'.

['200906',' 2009-07-17 17: 00',' 20.2',' 122.1',' 980',' 28',' 20'

['200906',' 2009-07-17 14: 00',' 19.5',' 122.7','',' 25','','

['200906',' 2009-07-17 11: 00',' 18.9',' 123.3',' 985',' 25'

['200906',' 2009-07-17 08: 00: 00',' 18.6',' 123.6',' 994',' 20','','

['200906',' 2009-07-17 05: 00: 00',' 18.4',' 123.9',' 996',' 18',' 65438.

['200906',' 2009-07-17 02: 00: 00',' 17.9',' 124.1',' 996',' 18'

['200906',' 2009-07-16 23: 00: 00',' 17.6',' 124.6',' 996',' 18',' 65438.

['200906',' 2009-07-16 20: 00: 00',' 17.4',' 124.7',' 996',' 18',''

拆串太复杂了,不想写了。

只要参数是/Typhoon.aspx?id=

id后面是台风的代号,写个周期就行了。