public static void getAllLink(String html, String parentUrl) {
Parser parser = new Parser();
try {
parser.setInputHTML(html);
NodeFilter filter = new NodeClassFilter(LinkTag.class);
NodeList nodes = parser.parse(filter);
for (Node node : nodes.toNodeArray()) {
LinkTag linkTag = (LinkTag) node;
String link = linkTag.getLink().trim();
// 过滤,过滤方法可以添加,比如在增加只爬去本域名或本主机名下的网站等等
if (!"".equals(link)) {
//处理一下那些不是以“http://”开头的url,比如以"/html/....或 html/...."开头的
URI uri = new URI(parentUrl);
URI _uri = new URI(uri, link);
String newUrl = _uri.toString();
urls.add(link);
}
}
} catch (ParserException e) {
throw new RuntimeException("htmlparser解析html文件时异常" + e);
} catch (URIException e) {
e.printStackTrace();
}
}
分享到:
相关推荐
3. 网页抓取和分析方法的实现:文章中提出的基于HttpClient与HTMLParser的网页抓取解析方法,结合了两者的优点,实现了快速且有效的网页内容抓取和正文提取。该方法能够针对特定的网页内容进行深入分析,并能够应对...
首先创建了一个 `URL` 对象,然后通过调用 `openConnection()` 方法获取到一个 `HttpURLConnection` 对象,接着调用 `connect()` 方法建立连接。通过 `getInputStream()` 方法获取输入流,再使用 `BufferedReader` ...
在上述代码中,`fetchHtml`方法用于获取网页内容,然后`parseHtml`方法将内容传递给HTMLParser进行解析。你可以根据实际需求,比如寻找特定标签、属性或文本,自定义解析逻辑。 此外,`Test`可能是测试用例的文件名...
### 使用HttpClient和HtmlParser实现简易爬虫的知识点详解 #### 一、HttpClient与HtmlParser简介 ...这种组合非常适合于构建初级的网络爬虫应用,对于需要从互联网上收集大量数据的场景非常有用。
在网络爬虫项目中,HttpClient和HtmlParser常结合使用,HttpClient负责获取网页内容,HtmlParser则负责解析内容并提取有用信息。为了实现更复杂的爬虫功能,如处理JavaScript渲染的页面、模拟登录、反反爬虫策略等,...
在IT领域,网络爬虫是一种自动化程序,用于从互联网上抓取信息,通常是网页内容。本教程将聚焦于如何使用HTMLPARSER和HTTPCLIENT库来构建一个基础的网络爬虫。这两个工具是Java开发者常用来处理HTTP请求和解析HTML...
6. **网络连接**:JSoup可以直接通过`Jsoup.connect(url).get()`建立HTTP连接并下载HTML内容,简化了网页抓取的过程。 ### HTMLParser的替代原因 HTMLParser虽然也是一个强大的HTML解析库,但由于长时间未更新,...
之后,使用`close()`方法关闭连接。 3. **创建解析器对象**: 创建一个`HTMLParser`的实例,这里名为`ptext`。`HTMLParser`需要一个`formatter`对象,用于处理解析过程中产生的事件。在这个例子中,使用了`...
网络爬虫是自动抓取网页信息的程序,它可以帮助我们高效地收集大量数据,用于数据分析、网站监控或搜索引擎构建等目的。在这个主题中,我们关注的是编写网络爬虫时可能会用到的一些关键Java库,这些库包含在提供的...
这种技术在进行网页抓取、数据分析或自动化任务时非常有用。 首先,我们要明白JavaScript是一种广泛用于网页开发的脚本语言,可以直接在浏览器环境中执行,修改网页内容或与服务器交互。在易语言中,我们可以利用...
### 基于Java的多线程网络爬虫设计与实现 #### 1. 引言 随着互联网的快速发展,网络爬虫作为一种重要的网页检索工具,...该方案不仅可以应用于搜索引擎的网页抓取,还可以广泛应用于数据分析、市场研究等多个领域。
4. `htmlparser.jar`: 这可能是一个用于解析HTML内容的库,例如解析服务器返回的HTML响应,提取有用的信息,或者进行网页抓取。 5. `httpcore.jar`: HTTP Core是HttpClient的基础组件,提供了HTTP连接管理和传输...
3. **网页解析器(HtmlParser)**:解析下载的HTML内容,提取有用信息。例如,它可能寻找特定的标签(如`<a>`标签)来找到新的URL,或者解析出页面中的实际数据。 4. **输出处理器(HtmlOuter)**:收集解析出的...
- Java中通常使用`java.net.URL`类来创建URL对象,并利用`java.net.URLConnection`进行网络连接,从而获取到网页的内容。 - 示例代码中的`getContentUsingParser`方法通过`Parser`类解析URL,获取HTML文档中的`...
- **数据库内容抓取**:通过数据库连接技术抓取数据库中的内容。 - **本地文件抓取**:遍历本地硬盘上的文件,包括文本、图片等不同格式的数据。 #### 四、提取文档中的文本内容 从获取的数据中提取有用的文本内容...
这些库组合在一起,可以构建一个功能强大的系统,用于从网页抓取数据、处理HTML内容,并通过HTTP与远程服务器进行通信,同时还可以使用Jython来编写动态脚本,增强应用的灵活性。在Java项目中,这些库的合理使用可以...
Java爬虫技术是一种用于自动化网页数据抓取的编程方法,主要应用于数据分析、信息提取和搜索引擎优化等场景。在Java中,有许多库可以帮助我们构建高效且功能强大的爬虫。以下是几个核心知识点,包括`Jsoup`、`Apache...
- **网络蜘蛛(Web Crawler):** 负责自动抓取互联网上的网页信息。 - **全文索引结构(Full-text Indexing Structure):** 存储和组织抓取的文档,以便快速检索。 - **Lucene全文检索引擎:** 是一个高性能的...
7. **htmlparser-1.6.jar**:HTMLParser是一个解析HTML文档的Java库,可以用于提取网页信息、处理HTML标签和属性,对网页内容进行分析。 8. **logback-core-0.9.16.jar**:Logback是另一个日志框架,比Log4j更高效...