下面这个是parser的方法,可是有一天,我把我想要的超链接信息获取到了,可是,再想获取纯文本链接是,就不知道下手啦,哪位师哥师姐能帮忙解答一下,感激不敬。。。
public static void main(String args[]) throws Exception {
String url="http://www.67ba.com/";
String encod = dectedEncode(url);//获得页面的编码格式
getHtmlUrls(url, encod);
}
public static void getHtmlUrls(String url, String pageEncoding) {
NodeList nodelist = null;
try {
Parser parser = new Parser(url);
parser.setEncoding(pageEncoding);
nodelist = parser.parse(new NodeClassFilter(LinkTag.class));
} catch (ParserException e) {
e.printStackTrace();
}
if (nodelist != null && nodelist.size() > 0) {
for (int i = 0; i < nodelist.size(); i++){
String urlLink = ((LinkTag)nodelist.elementAt(i)).extractLink();
String urltext = ((LinkTag)nodelist.elementAt(i)).getLinkText();
if(urlLink.indexOf("67ba.com")>1||urlLink.indexOf("jianzhi8.com")>1)
System.out.println( urlLink +""+urltext);
}
}
}
/**
* 检测URL指定的网页的字符集
* @param url
* @return 返回网页的实际编码方式
*/
public static String dectedEncode(String url)
{
String[] encodes = oriEncode.split(",");
for (int i = 0; i < encodes.length; i++) {
if (dectedCode(url, encodes[i])) {
return encodes[i];
}
}
return null;
}
分享到:
相关推荐
然后,调用`extractText`方法提取文本。\n\n`extractText`方法中,创建了一个`Parser`对象来解析输入的HTML字符串。接着,定义了一个`NodeFilter`,这个过滤器接受所有节点,因此会遍历HTML中的每一个元素。通过`...
例如,通过select()方法可以选取特定的HTML元素,getAttr()方法能获取元素的属性值,textContent()则可以获取元素内的纯文本内容。 三、使用示例 以下是一些使用StringParser的典型示例: 1. 分割字符串: ```...
3. **提取`href`属性**:找到`<a>`标签后,需要从中提取`href`属性的值。这可以通过匹配`href="..."`模式并捕获`...`部分来完成。 4. **处理相对链接**:有时,`href`属性的值可能是相对路径,而不是绝对URL。在...
HTML解析是Web开发中不可或缺的一部分,它涉及到对HTML文档结构的理解和提取所需信息。Perl是一种功能强大的脚本语言,尤其适用于处理文本数据,包括HTML。`HTML-Parser`是Perl中一个专门用于解析HTML的模块,它使得...
5. **数据提取**:解析器可以用于提取网页上的特定信息,如链接、标题、段落等,这对于网页抓取和数据分析很有用。 在Delphi中,由于缺乏内置的HTML解析器,开发者通常需要自己编写解析逻辑或引入第三方库。例如,`...
标题“用正则表达式提取SQL”涉及到的是在编程中如何使用正则表达式来从文本或代码中抓取SQL语句的相关知识。在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,它能快速地匹配、查找、替换或者...
通过以上步骤,你可以从网页源代码中批量提取图片URL并将其保存到文本文件,然后使用批处理工具或脚本来下载这些图片。这种方法不仅可以应用于个人项目,还可以在数据分析、内容监控和自动化测试等场景中发挥作用。 ...
- `handle_data(data)`:解析到文本内容时,此方法会被调用,`data`参数包含了该部分文本。 四、自定义解析行为 通过继承`HTMLParser`类并覆盖其方法,你可以根据需要定制解析逻辑。例如,如果你只想处理`<p>`标签...
6. 输出链接:将提取到的链接存储在数据结构中,并按照指定格式输出,如保存到文件或直接返回给调用者。 7. 错误处理:在解析过程中,需要处理可能出现的错误,如网络连接问题、文件不存在、内存分配失败等。 通过...
5. **Bin**:这个目录通常包含编译后的可执行文件或库文件,使得没有源代码环境的用户可以直接使用。这些二进制文件通常是平台特定的,例如JAR文件对于Java环境。 6. **Docs**:文档文件夹,可能包含了API参考、...
它通过解析Markdown文本,提取出各种元素,如标题、列表、代码块、链接等,并处理MyST特有的扩展语法,如内联和块级的数学表达式、自定义指令等。 该库的0.10.0版本可能引入了以下特性或改进: 1. 性能优化:可能...
这个项目可能涉及到编译原理和程序设计,其中parser_src可能是指解析器的源代码部分。 【描述】描述简单明了,暗示了该压缩包包含的是C++与MFC结合使用的源码,重点在于parser(解析器)的实现。解析器是计算机科学...
因此,提取文本需要解析这些标签并获取它们的内容。 我们可以使用编程语言中的库来帮助我们完成这项任务。例如,在Python中,BeautifulSoup是一个流行的HTML解析库,它允许我们方便地遍历HTML树结构并提取所需内容...
解析过程中,`Parser`对象提供了`extractAllNodesThatAre(XXXTag.class)`方法,用于提取HTML中特定类型的标签,例如`LinkTag`、`ImageTag`、`FormTag`和`TableTag`等。这些标签类都位于`org.htmlparser.tags`包中。...
提取到的链接信息往往还需要经过数据清洗的过程,去除无效链接或者格式不正确的链接。常见的清洗步骤包括: - **去重**:确保链接列表中不存在重复项。 - **格式校验**:检查链接是否符合标准URL格式。 - **去除...
SCPI语法基于ASCII文本,遵循层次结构,由命令名、参数和可选的结束字符组成。命令通常由大写字母组成,参数可以是数值、字符串或者其它命令。例如,`*IDN?` 是一个常见的查询设备身份的SCPI命令。 2. SCPI解析...
提供了访问子节点、属性、文本内容的方法。 - `THtmlParser` 类:提供解析HTML和处理解析事件的接口,如OnTagOpen、OnTagClose等。 5. **使用示例** 创建一个新的Delphi工程,导入DIHtmlParser库后,可以通过以下...
3. **内容提取**:开发者可以使用这个库轻松提取网页中的文本内容、链接、图片等信息,方便进行进一步的处理或展示。 4. **DOM操作**:HTML Parser支持对DOM(文档对象模型)进行操作,如添加、删除或修改元素,这在...
正则表达式在这里用于定义需要匹配和提取的关键信息,如链接、关键词、日期等。Google RegEx Parser v0.2可以帮助开发人员在编写代理脚本时验证和调试正则表达式,确保它们能正确地匹配目标数据。 这个解析器可能...
在尝试使用HTMLParser进行正文抽取时,作者提到了几种常见的方法及其局限性: 1. **配置模板**:由于网页结构各异,预先为每个网站配置模板并不实际。 2. **视觉匹配**:这种方法对结构规范的网页有效,但无法应对...