htmlparser是一个非常棒的html页面解析器,它自带的filterbuilder很不错。到sourceforge下载后,解压好就可以用了。运行安装目录下的bin里面的filterbuilder.bat就可打开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&start="+start+"&q="
+ URLEncoder.encode(keywords, "UTF-8"));
NodeList nodes = bean.getNodes();
List<string> result = new ArrayList<string>();
for(int i = 0; i < nodes.size(); i++) {
LinkTag link = (LinkTag) nodes.elementAt(i);
result.add(link.getLink());
}
return result;
}
分享到:
相关推荐
根据给定文件的信息,本文将围绕“Java HTMLParser解析网页源码”的主题展开,深入探讨其功能、工作原理以及在不同场景下的应用方法。 ### Java HTMLParser简介 HTMLParser是用Java编写的开源HTML解析器,它能帮助...
该篇文章主要介绍了用C#实现HtmlParser的两种方法,分别是使用System.Net.WebClient下载网页并使用正则表达式来分析Html内容,以及使用Winista.Htmlparser.Net解析Html。下面我们将详细介绍这两种方法。 第一种方法...
在HTMLParser项目中,JSOUP可能被用来解析网页的结构,例如获取特定的段落、链接、图片等元素。这通常涉及以下步骤: 1. 使用Jsoup.connect()方法连接到目标URL。 2. 调用get()方法发送HTTP请求并接收响应。 3. 将...
搜索引擎的工作原理可以分为四个部分:从互联网上抓取页面、索引库建立、在索引数据库中排序、处理和排序搜索结果。基于搜索引擎的原理,本文给出了几个重要模块:Heritrix网络爬虫模块、预处理模块、索引模块(index...
- **传统的HTML搜索结果页面**:通过URL `https://www.google.com.hk/search` 可以直接获取HTML格式的搜索结果,这种方式适合大多数情况下的搜索需求。 - **JavaScript渲染的搜索结果**:Google默认采用JavaScript...
5. **搜索引擎基本操作**:学习如何使用Google等搜索引擎,掌握intitle、site、inurl等高级搜索技巧,有助于理解用户的查询行为。 6. **快速实现搜索引擎**:30分钟实现的简单搜索引擎教程,主要涉及准备环境、编写...
- **3.1.4 使用HTMLParser实现定向抓取**:讲解了如何使用HTML解析器实现目标内容的抓取。 - **3.1.5 使用正则表达式提取数据**:介绍了正则表达式在数据抽取中的应用。 - **3.1.6 结构化信息提取**:探讨了如何...
WebKit是一个开源的浏览器引擎,被广泛应用于现代的浏览器中,包括Safari、Google Chrome等。理解WebKit的源代码不仅有助于深入掌握浏览器的工作原理,还能为开发者优化Web应用性能提供指导。以下是对WebKit源代码的...
- **Chrome中对Port移植方面的实现**:Google Chrome使用Chromium项目下的Blink引擎,但在早期版本中也依赖于WebKit。 - **Android中对Port移植方面的实现**:Android平台上的WebView控件是基于WebKit构建的。 - **...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...