`
Anatorian
  • 浏览: 62182 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用htmlparser解析google搜索结果页面里的url

    博客分类:
  • java
阅读更多

htmlparser是一个非常棒的html页面解析器,它自带的filterbuilder很不错。到sourceforge下载后,解压好就可以用了。运行安装目录下的bin里面的filterbuilder.bat就可打开filterbuilder,如下图(点击看大图):

htmlparser_filterbuilder

在窗口最底下的文本框里输入要parse的页面的url, 在Operation菜单里选择Fetch Page就会载入页面。左边的区域可以放置各种过滤器。先选中左边过滤器区域里的某个过滤器,再点击工具栏上要使用的过滤器,就会把过滤器加到之前选中的过滤器里面了。点击Operation菜单里的Excute Filter,就会把当前的过滤器应用到载入的页面了,新结果会显示在校窗口里。最后保存,就会得到一个java文件,里面包含了过滤html的代码。

我用这个工具做了一个从google搜索返回页面里取出搜索结果url 的方法,非常简单,代码如下:

    private List<string> getUrlsBySearchGoogle(String keywords, int start) 
                throws UnsupportedEncodingException {
        TagNameFilter filter0 = new TagNameFilter ();
        filter0.setName ("A");
        HasAttributeFilter filter1 = new HasAttributeFilter ();
        filter1.setAttributeName ("class");
        filter1.setAttributeValue ("l");
        NodeFilter[] array0 = new NodeFilter[2];
        array0[0] = filter0;
        array0[1] = filter1;
        AndFilter filter2 = new AndFilter ();
        filter2.setPredicates (array0);
        NodeFilter[] array1 = new NodeFilter[1];
        array1[0] = filter2;
        FilterBean bean = new FilterBean ();
        bean.setFilters (array1);
 
        bean.setURL("http://www.google.com/search?complete=1&amp;start="+start+"&amp;q=" 
                + URLEncoder.encode(keywords, "UTF-8"));
        NodeList nodes = bean.getNodes();
        List<string> result = new ArrayList<string>();
        for(int i = 0; i &lt; nodes.size(); i++) {
            LinkTag link = (LinkTag) nodes.elementAt(i);
            result.add(link.getLink());
        }
        return result;
    }
分享到:
评论
2 楼 water84222 2008-04-28  
因为,没有配置java_home,或者可以再cmd下运行。
1 楼 water84222 2008-04-25  
为什么,我下载后的只有filterbuilder.cmd,而且双击后,没有任何反应?

相关推荐

    java htmlparser

    根据给定文件的信息,本文将围绕“Java HTMLParser解析网页源码”的主题展开,深入探讨其功能、工作原理以及在不同场景下的应用方法。 ### Java HTMLParser简介 HTMLParser是用Java编写的开源HTML解析器,它能帮助...

    用C#实现HtmlParser的代码

    该篇文章主要介绍了用C#实现HtmlParser的两种方法,分别是使用System.Net.WebClient下载网页并使用正则表达式来分析Html内容,以及使用Winista.Htmlparser.Net解析Html。下面我们将详细介绍这两种方法。 第一种方法...

    htmlparser:这个项目展示了如何使用 JSOUP 和 Volley 来执行 HTML 解析

    在HTMLParser项目中,JSOUP可能被用来解析网页的结构,例如获取特定的段落、链接、图片等元素。这通常涉及以下步骤: 1. 使用Jsoup.connect()方法连接到目标URL。 2. 调用get()方法发送HTTP请求并接收响应。 3. 将...

    简单搜索引擎分析与开发毕业设计论文(20210809123532).pdf

    搜索引擎的工作原理可以分为四个部分:从互联网上抓取页面、索引库建立、在索引数据库中排序、处理和排序搜索结果。基于搜索引擎的原理,本文给出了几个重要模块:Heritrix网络爬虫模块、预处理模块、索引模块(index...

    编写Python脚本来获取Google搜索结果的示例

    - **传统的HTML搜索结果页面**:通过URL `https://www.google.com.hk/search` 可以直接获取HTML格式的搜索结果,这种方式适合大多数情况下的搜索需求。 - **JavaScript渲染的搜索结果**:Google默认采用JavaScript...

    搜索引擎开发培训课程提纲PPT学习教案.pptx

    5. **搜索引擎基本操作**:学习如何使用Google等搜索引擎,掌握intitle、site、inurl等高级搜索技巧,有助于理解用户的查询行为。 6. **快速实现搜索引擎**:30分钟实现的简单搜索引擎教程,主要涉及准备环境、编写...

    解密搜索引擎技术实战:Lucene&Java精华版

    - **3.1.4 使用HTMLParser实现定向抓取**:讲解了如何使用HTML解析器实现目标内容的抓取。 - **3.1.5 使用正则表达式提取数据**:介绍了正则表达式在数据抽取中的应用。 - **3.1.6 结构化信息提取**:探讨了如何...

    webkit源代码阅读笔记

    WebKit是一个开源的浏览器引擎,被广泛应用于现代的浏览器中,包括Safari、Google Chrome等。理解WebKit的源代码不仅有助于深入掌握浏览器的工作原理,还能为开发者优化Web应用性能提供指导。以下是对WebKit源代码的...

    WebKit分析报告2

    - **Chrome中对Port移植方面的实现**:Google Chrome使用Chromium项目下的Blink引擎,但在早期版本中也依赖于WebKit。 - **Android中对Port移植方面的实现**:Android平台上的WebView控件是基于WebKit构建的。 - **...

    java开源包8

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包1

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包11

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包2

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包3

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包6

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包5

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包10

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

    java开源包4

    使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...

Global site tag (gtag.js) - Google Analytics