0 0

怎以截取一个网页上面的特定数据3

比如说论坛的一个贴子,现在我知道这个论坛的贴子的网页地址,怎么给出这个网页地址之后就取到这个贴子的指定数据,比如说发贴人,发贴时间,我现在做的项目就是要从一个页网上面取数据。。。大家有没有什么好的办法,谢谢大家了。。。
问题补充:
具体怎么实现,能不能给一个例子
2009年1月05日 09:20

7个答案 按时间排序 按投票排序

0 0

发送请求,解析响应的HTML

2009年1月14日 10:25
0 0

看你要怎么截,可以写个爬虫,读取网页文件,然后用正则来分析,抓取你要的信息

2009年1月07日 11:02
0 0

javascript和正则表达式结合起来用,发贴人,发贴时间和网址命名要有一定的规律,比如网址为thread-id,发贴人id为thread-id-posterid,发贴时间id为thread-id-time,然后用正则表达式匹配/thread-id.*/ 发贴人和发贴时间,再用document.getElementById取出对应的值。

2009年1月06日 11:05
0 0

你的问题其实是属于垂直搜索引擎的爬虫
就像kooxoo一类的网站 他们就是专门去抓特定数据的

最简单的办法就是比如你要爬一个论坛
1 你右键查看它的网页源代码
2 你要找作者名字,它可能写在第5个<div>标签中,或者说id为"author_name"的div标签中
<div id="author_name">Haric<div>
3 你写程序发起一个http请求,可能要带上参数
4 解析返回来的response string
5 找第5个div,或者用正则表达式找id为"author_name"的div
6 然后随你用正则表达式还是substring去取得作者名字"Haric"

不知道说明白没,其实就是对http请求后返回的html源代码进行分析

2009年1月06日 10:36
0 0

使用正则表达式,

对HTML做分析,

获取对应标签内的值。

基本思路是这样。

细节我这里暂无代码。

2009年1月05日 11:44
0 0

http://www.blogjava.net/ekinglong/archive/2006/11/12/80704.html?Pending=true#Post

 /** */   /**
 * 利用Google在线翻译引擎实现多国语言互译
 * 这里只使用google的对译项目
 * 目前只针对中日英,且因为google不提供中日直接互译,
 * 所以,此引擎也不能进行中日对译
 * 
 *  @author  ekinglong
 *  @version  1.0 06/10/30
  */

package  ekinglong.languageEngine;
 
  import  java.io. * ;
  import  java.net. * ;
 
  public   class  GoogleTranslationEngine2 {
     
      // 定义互译语言对常数变量,符合google页面相关对译语言对的值
      public   static   final  String LANGPAIR_CN_EN = " zh-CN|en " ; // 汉语到英语
      public   static   final  String LANGPAIR_EN_CN = " en|zh-CN " ; // 英语到汉语
      public   static   final  String LANGPAIR_EN_JA = " en|ja " ; // 英语到日语
     
      // 定义编码常数
      public   static   final  String CHARSET_CN = " GBK " ;
      public   static   final  String CHARSET_JA = " Shift_JIS " ;
     
      // google在线翻译引擎url
      static   final  String engineUrl = " http://translate.google.com/translate_t " ; 
     
      /** */ /**
      * 利用google在线翻译引擎实现翻译,并获取翻译内容
      *  @param  translateText 要翻译的文本内容
      *  @param  langpair 对译语言的值对,如en|ja是由英语翻译到日语
       */
      public  String translate(String translateText,String langpair) 
          throws  MalformedURLException,IOException,UnsupportedEncodingException {
         
          // text是google翻译页面提交时对于欲翻译文字的变量名
          // langpair是google翻译页面提交时对于采用何种互对语言的变量名
         String urlstr = engineUrl + " ?text= " + encodeText(translateText) + " &langpair= " + langpair;
         URL url  =   new  URL(urlstr);
         URLConnection connection  =  (HttpURLConnection)url.openConnection();
         connection.setRequestProperty( " User-agent " , " IE/6.0 " );  // 必须,否则报错,到于FF的怎么写,没做过测试        
         connection.connect();
         
         String charset = getCharsetFromLangpair(langpair); // 自动获取目标语言的编码
         BufferedReader in = new  BufferedReader( new
          InputStreamReader(connection.getInputStream(),charset)); // 使用指定编码接收数据
                          
         String line = null ;
         StringBuilder sb = new  StringBuilder();
          while ((line = in.readLine()) != null ) {
             sb.append(line);
         }
         in.close();          
         
         String translation = getContent(sb.toString());
          return  translation;
     }
     
      /** */ /**
      * 从获得的源文件中剥取翻译内容
      * 分析google翻译生成的html源码来看
      * 翻译内容被置于<div id=result_box dir=ltr>和</div>标签之间
      *  @param  htmltext 获得的网业源代码
       */
      private  String getContent(String htmltext) {
         String ss = " <div id=result_box dir=ltr> " ; 
         String se = " </div> " ;
          int  ssidx = htmltext.indexOf(ss);
          int  seidx = htmltext.indexOf(se,ssidx);
         
         String restr = htmltext.substring(ssidx + ss.length(),seidx);
          return  restr;
     }
     
      // 将文本进行URL编码
      private  String encodeText(String text) {
         String str = java.net.URLEncoder.encode(text);
          return  str;
     }
     
      /** */ /**
      * 根据翻译的目标语言获取对应的接收编码
      *      
      * @langpair 对译语言的值对,如en|ja是由英语翻译到日语
       */
      private  String getCharsetFromLangpair(String langpair) {
          // 当翻译的目标语言为日语时,采用Shift+JIS编码接收数据
          if (langpair.equals(LANGPAIR_EN_JA))
              return  CHARSET_JA;          
          else   return  CHARSET_CN;
     }
     
      public   static   void  main(String[] args)  throws  Exception {
         GoogleTranslationEngine2 engine = new  GoogleTranslationEngine2();
         String text = " hello " ;
         String langpair = " en|ja " ;
          if (args.length >= 2 ) {
             StringBuilder sb = new  StringBuilder();
              for ( int  i = 0 ;i < args.length - 1 ;i ++ ) {
                 sb.append(args[i]).append( "   " );
             }
             text = sb.toString();
             String tmp = args[args.length - 1 ];
              // 因为在cmd.exe中|是特殊字符,所以不能直接指定翻译对,如"en|ja"所以转一下
              if (tmp.equals( " cn-en " )) langpair = GoogleTranslationEngine2.LANGPAIR_CN_EN;
              else   if (tmp.equals( " en-cn " )) langpair = GoogleTranslationEngine2.LANGPAIR_EN_CN;
              else   if (tmp.equals( " en-ja " )) langpair = GoogleTranslationEngine2.LANGPAIR_EN_JA;             
              else   throw   new  Exception( " 语言对指定错误 " );
         }
         String rst = engine.translate(text,langpair);
         System.out.println( " 翻译内容: " + text);
         System.out.println( " Google翻译结果: " + rst);
     }
 } 

2009年1月05日 10:39
0 0

1.xpath
2.正则表达式

1.可以安装seleniumIDE他的表达式生成方式很爽
2.用google搜"抓取网页信息"

2009年1月05日 10:16

相关推荐

    ASP技术常遇问题解答-如何截取字符串?.zip

    在ASP技术中,字符串操作是常见的任务之一,特别是在处理用户输入、数据展示或者网页动态生成时。本资料主要聚焦于一个问题:如何在ASP中截取字符串。以下将详细讲解这个问题,以及相关的知识点。 首先,ASP...

    下载google地图上面的好工具

    在IT行业中,Google地图是一个广泛使用的在线地图服务平台,它提供了丰富的地理信息,包括街道视图、卫星影像、交通状况以及导航功能。对于开发者和普通用户而言,Google地图上的一些好工具能够极大地提升使用体验和...

    videoSwitchgif.zip

    在上面的代码中,我们创建了一个`video`元素,加载了视频文件,然后设置`canvas`的尺寸与视频相匹配。通过监听`timeupdate`事件,我们每隔100毫秒截取一帧,并存储为`dataURL`。当视频播放结束时,我们使用`gifshot`...

    基于Java和Python的爬虫项目实战源码.zip

    a)数据源,如一个媒体文件 b)截取设备,如麦克风、摄像机等 c)播放器-Player,JMF中的接口是Player,将音频/视频数据流作为输入,将数据流输出到音箱或屏幕上 d)处理器-Processor,Processor接口继承了Player...

    JQuery在线截图

    我们可以创建一个覆盖在页面上的透明`canvas`,用户在上面拖动选择区域。通过`mousedown`、`mousemove`和`mouseup`事件,我们可以跟踪用户的鼠标动作,计算出所选区域的坐标。 ```javascript var startX, startY; $...

    获得本机IP

    在IT领域,获取本机IP地址是网络编程中一个常见的需求,无论是为了网络通信、安全控制还是数据分析,了解如何在不同的编程环境下获取本机IP都显得尤为重要。从给定的文件内容来看,主要涉及了三种不同的方法来实现这...

    基于PHP的留言墙 仿QQ爱墙.zip

    【标题】"基于PHP的留言墙 仿QQ爱墙.zip" 涉及的主要知识点是PHP编程语言在创建一个互动式留言墙应用上的实践。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适合Web开发,能够嵌入到HTML中,...

    浅谈python中截取字符函数strip,lstrip,rstrip

    如果传入一个字符数组作为参数,它会移除两端所有出现在数组内的字符,直到字符串的两端找不到这些字符为止。例如: ```python testString = "saaaay yes no yaaaass" print(testString.strip('say')) ``` 上面的...

    JS控制静态页面之间传递参数获取参数并应用的简单实例

    iframe可以认为是一个小窗口,它可以加载另外一个独立的网页。在这个例子中,在a页面动态创建一个iframe,并设置其src属性为目标页面b的URL,然后将这个iframe的display属性设置为none,使其在页面中不可见。当...

    C# 常用单词汇总,常用单词汇总

    - **定义**: `AllowDrop` 是一个属性,用于指定控件是否支持用户将数据拖放到该控件上。 - **应用场景**: 在文件管理器中,当启用此属性时,可以将文件从一处拖拽到另一处进行移动或复制。 #### 6. Any (任意的) - ...

    js限制文本框的输入内容代码分享(3类).docx

    这里 `/^[\w.-]+@[\w-]+(\.[\w-]+)+$/` 是一个用于验证邮箱格式的正则表达式。 总的来说,JavaScript 提供了丰富的功能来控制和验证文本框的输入内容,这不仅提高了用户体验,也有助于数据的准确性和一致性。开发者...

    Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案

    创建数据驱动的 ASP.NET 网站时,通常会产生一个单个的网页,该网页基于查询字符串参数显示数据库数据的子集。例如,在设计电子商务站点时,您的任务之一便是允许用户浏览待售产品。为此,您可以创建一个名为 ...

    JS获取url链接字符串 location.href

    在JavaScript中,`location.href` 是一个非常重要的属性,它用于获取当前页面的完整URL(统一资源定位符),包括协议、主机名、路径、查询字符串和片段标识符。这个属性不仅可以用来读取URL,还可以用来重定向用户到...

    javascript常用100语句

    `创建一个字符串对象。 34. **大小写转换**: `toUpperCase()`将字符串转为大写,`toLowerCase()`转为小写。 35. **查找子串位置**: `indexOf()`方法查找子串在字符串中的位置,返回-1表示未找到。 36. **获取字符...

    PHP获取浏览器信息类和客户端地理位置的2个方法

    7. PHP类的使用说明:上述知识点通过一个`guest_info`类进行了封装,该类提供了多个方法来获取上述信息。使用该类时,首先需要创建`guest_info`类的实例,然后调用相应的方法,例如`$obj-&gt;getlang()`来获取用户的...

Global site tag (gtag.js) - Google Analytics