请问,如何制作一个可以获取别人网页上的信息的程序呢?希望大家能讨论讨论

onizuka5211 2003-08-19 08:44:24
请问,如何用jsp制作一个可以获取别人网页上的信息的程序呢?希望大家能讨论讨论
我想做一个获取其他网页上的信息的程序,需要用jsp做,能做成功吗,大家有思路吗,
我想用js做,能作吗?
...全文
208 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
onizuka5211 2003-08-20
  • 打赏
  • 举报
回复
onizuka5211 2003-08-20
  • 打赏
  • 举报
回复
ashes 2003-08-20
  • 打赏
  • 举报
回复
study
mailguoyy 2003-08-20
  • 打赏
  • 举报
回复
up
xqi8 2003-08-20
  • 打赏
  • 举报
回复
up
wspsc 2003-08-20
  • 打赏
  • 举报
回复
还有问题吗?
把你的代码贴出来,把你的字符串 s 也贴出来,把你想要的信息也贴出来。
onizuka5211 2003-08-20
  • 打赏
  • 举报
回复
up
gboy2003 2003-08-20
  • 打赏
  • 举报
回复
up
YuLimin 2003-08-20
  • 打赏
  • 举报
回复
遍历返回的HTML不就可以得到所需要的信息了吗?
KillAllError 2003-08-19
  • 打赏
  • 举报
回复
stonewang(类中有笑) 的回答很有道理!:)受教了
seaman0916 2003-08-19
  • 打赏
  • 举报
回复
具体想得到那方面的信息?

我还是不太明白你的意思!
stonewang 2003-08-19
  • 打赏
  • 举报
回复
正则表达式使用详解:
http://www.yesky.com/20000426/51681.shtml
stonewang 2003-08-19
  • 打赏
  • 举报
回复
正则表达式使用详解(二)

--------------------------------------------------------------------------------

吕晓波




使用实例



  在对正则表达式有了较为全面的了解之后,我们就来看一下如何在Perl,PHP,以及JavaScript中使用正则表达式。



  通常,Perl中正则表达式的使用格式如下:



  operator / regular-expression / string-to-replace / modifiers



  运算符一项可以是m或s,分别代表匹配运算和替换运算。



  其中,正则表达式一项是将要进行匹配或替换操作的模式,可以由任意字符,元字符,或定位符等组成。替换字符串一项是使用s运算符时,对查找到的模式匹配对象进行替换的字符串。最后的参数项用来控制不同的匹配或替换方式。例如:



  s/geed/good/



  将会在目标对象中查找第一个出现的geed字串,并将其替换为good。如果我们希望在目标对象的全局范围内执行多次查找—替换操作的话,可以使用参数 “g”,即s/love/lust/g。



  此外,如果我们不需要限制匹配的大小写形式的话,可以使用参数 “i ”。例如,



  m/JewEL/i



  上述正则表达式将会与目标对象中的jewel,Jewel,或JEWEL相匹配。



  在Perl中,使用专门的运算符“=~”指定正则表达式的匹配对象。例如:



  $flag =~ s/abc/ABC/



  上述正则表达式将会把变量$flag中的字串abc替换为ABC。



  下面,我们就在Perl程序中加入正则表达式,验证用户邮件地址格式的有效性。代码如下:



  #!/usr/bin/perl
  # get input
  print “What's your email address?\n”;
  $email = <>
  chomp($email);
  # match and display result
  if($email =~ /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/)
  {
  print(“Your email address is correct!\n”);
  }
  else
   {
    print(“Please try again!\n”);
   }



  如果用户更偏爱PHP的话,可以使用ereg()函数进行模式匹配操作。ereg()函数的使用格式如下:
   ereg(pattern, string)



  其中,pattern代表正则表达式的模式,而string则是执行查找替换操作的目标对象。同样是验证邮件地址,使用PHP编写的程序代码如下:



  <?php
   if (ereg(“^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+”,$email))
    { echo “Your email address is correct!”;}
   else
    { echo “Please try again!”;}
   ?>
  最后,我们在来看一下JavaScript。JavaScript 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。



  我们可以使用JavaScript编写以下脚本,验证用户输入的邮件地址的有效性。



  <>
   <>
    < language="Javascript1.2">
     <!-- start hiding
     function verifyAddress(obj)
     {
      var email = obj.email.value;
      var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
      flag = pattern.test(email);
      if(flag)
      {
       alert(“Your email address is correct!”);
       return true;
      }
      else
       {
        alert(“Please try again!”);
        return false;
        }
      }
     // stop hiding -->
    </script>
   </head>
   <>
   < onSubmit="return verifyAddress(this);">
   < name="email" type="text">
   < type="submit">
   </form>
  </body>
 </html>
stonewang 2003-08-19
  • 打赏
  • 举报
回复
1、使用输入流得到别人网页,存在一个变量
2、使用正则表达式,匹配提取有用的信息
monbit 2003-08-19
  • 打赏
  • 举报
回复
什么意思?jsp本身不就是一个网页么。。。。你是想得到其他网页的信息么?。。。。。这个难度可就大乐。。。别说是jsp了,就是编一个应用程序想获得ie的窗口句柄,再获得里面的相应信息也是十分困难的。。。。。。再说了,ie是有安全级别的,根本就不能读取本地信息的。。。你到底是什么意思那?费解了。。。。
jeskee 2003-08-19
  • 打赏
  • 举报
回复
提取纯文字信息的话可以用正则表达式来做
onizuka5211 2003-08-19
  • 打赏
  • 举报
回复
我的天哪,太感谢wspsc了,果然还是有高人,不过我现在得到的是乱码,通过转码,好像也不太行
,而且,我只想得到几个字段,如何判断字符串s呢?还评高人指教,呵呵,我是新学的,等我解决这点小问题就结贴。多谢大家
wspsc 2003-08-19
  • 打赏
  • 举报
回复
如果用 jsp 请在服务器端写个程序片段如下:
import java.net.*;
import java.io.*;

InputStream in ;
String s ="";
String sCurrentLine =null;
URL url =new URL("你的天气预报的网址(可带参数)例如:www.tianqi.com?city=shanghai");
HttpURLConnection cnn =(HttpURLConnection)url.openConnection();
cnn.connect();
in =cnn.getInputStream();
BufferedReader buffer =new BufferedReader(new InputStreamReader(in));
while ((sCurrentLine =buffer.readLine()) != null) {
s+=sCurrentLine;
}
然后分析字符串 s 找到你要的信息就可以发给可户端了。
-------------------------------------------------------------------------
如果要用 js 就需要在 IE 中使用 xml 了,其实也很简单,代码如下:
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("GET","你的天气预报的网址(可带参数)例如:www.tianqi.com?city=shanghai",false);
xmlHttp.send();
var s =xmlHttp.responseText;
然后分析字符串 s 找到你要的信息就可以了。

------------------------------------------------------------------------
至于如何分析 获得的字符串可以有很多方法,正则表达式是一种方法。
onefox 2003-08-19
  • 打赏
  • 举报
回复
建一个输入流,连接别人的页面
然后搜索天气预报的字段
提取信息,再显示
onizuka5211 2003-08-19
  • 打赏
  • 举报
回复
对不起,可能我没有说清楚,其实我只不过想完成一个简单的功能,就是在自己的网页上显示一下天气预报,又不能自己输入,所以只能想办法获得别人网站上的天气预报,然后显示在自己的网页上,
大家帮忙想想,有没有好的办法呀!!!!我很着急呀!
加载更多回复(2)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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