「java提取网页正文」提取网页文本

博主:adminadmin 2022-12-12 03:09:07 71

本篇文章给大家谈谈java提取网页正文,以及提取网页文本对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何提取网页里的文本?

1、首先,我们打开浏览器,找到需要复制的文字。

2、右键点击网页内的空白处,如图所示,弹出菜单中选择“审查元素”。

3、此时,页面就会显示所有组成元素,我们只要选中我们需要复制的段落,右键点击,“copy element”(复制元素)就可以了。

4、打开记事本或者Word,点击粘贴,文字复制下来的效果如下图所示。

java 用正则表达式提取网页文字

public static String Html2Text(String inputString) {

//过滤html标签

String htmlStr = inputString; // 含html标签的字符串

String textStr = "";

java.util.regex.Pattern p_script;

java.util.regex.Matcher m_script;

java.util.regex.Pattern p_style;

java.util.regex.Matcher m_style;

java.util.regex.Pattern p_html;

java.util.regex.Matcher m_html;

java.util.regex.Pattern p_cont1;

java.util.regex.Matcher m_cont1;

java.util.regex.Pattern p_cont2;

java.util.regex.Matcher m_cont2; try {

String regEx_script = "[\\s]*?script[^]*?[\\s\\S]*?[\\s]*?\\/[\\s]*?script[\\s]*?"; // 定义script的正则表达式{或script[^]*?[\\s\\S]*?\\/script

// }

String regEx_style = "[\\s]*?style[^]*?[\\s\\S]*?[\\s]*?\\/[\\s]*?style[\\s]*?"; // 定义style的正则表达式{或style[^]*?[\\s\\S]*?\\/style

// }

String regEx_html = "[^]+"; // 定义HTML标签的正则表达式 String regEx_cont1 = "[\\d+\\s*`~!@#$%^*\\(\\)\\+=|{}':;',\\[\\]./?~!@#¥%……*()——+|{}【】‘:”“’_]"; // 定义HTML标签的正则表达式 String regEx_cont2 = "[\\w[^\\W]*]"; // 定义HTML标签的正则表达式[a-zA-Z] p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);

m_script = p_script.matcher(htmlStr);

htmlStr = m_script.replaceAll(""); // 过滤script标签 p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);

m_style = p_style.matcher(htmlStr);

htmlStr = m_style.replaceAll(""); // 过滤style标签 p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);

m_html = p_html.matcher(htmlStr);

htmlStr = m_html.replaceAll(""); // 过滤html标签 p_cont1 = Pattern.compile(regEx_cont1, Pattern.CASE_INSENSITIVE);

m_cont1 = p_cont1.matcher(htmlStr);

htmlStr = m_cont1.replaceAll(""); // 过滤其它标签 p_cont2 = Pattern.compile(regEx_cont2, Pattern.CASE_INSENSITIVE);

m_cont2 = p_cont2.matcher(htmlStr);

htmlStr = m_cont2.replaceAll(""); // 过滤html标签 textStr = htmlStr; } catch (Exception e) {

System.err.println("Html2Text: " + e.getMessage());

}

return textStr;// 返回文本字符串

}

祝你好运。

JAVA怎么提取网页中的指定内容

FileReader fr = new FileReader("*.htm"); FileWriter fw = new FileWriter("E:/a.txt");

char[] c = new char[1024];

StringBuffer sb = new StringBuffer();

int n;

while ((n = fr.read(c)) != -1) {

sb.append(c, 0, n);

}

fr.close();

Pattern p = Pattern.compile("class.*?br");

Matcher m = p.matcher(sb);

while (m.find()) {

String tmp = m.group();

System.out.println(tmp);

System.out.println(tmp.substring(7, tmp.length() - 4));

fw.write(tmp.substring(7, tmp.length() - 4));

}

fw.close();

java如何获取网页中的文字

package test;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.Authenticator;

import java.net.HttpURLConnection;

import java.net.PasswordAuthentication;

import java.net.URL;

import java.net.URLConnection;

import java.util.Properties;

public class URLTest {

// 一个public方法,返回字符串,错误则返回"error open url"

public static String getContent(String strUrl) {

try {

URL url = new URL(strUrl);

BufferedReader br = new BufferedReader(new InputStreamReader(url

.openStream()));

String s = "";

StringBuffer sb = new StringBuffer("");

while ((s = br.readLine()) != null) {

sb.append(s + "/r/n");

}

br.close();

return sb.toString();

} catch (Exception e) {

return "error open url:" + strUrl;

}

}

public static void initProxy(String host, int port, final String username,

final String password) {

Authenticator.setDefault(new Authenticator() {

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(username,

new String(password).toCharArray());

}

});

System.setProperty("http.proxyType", "4");

System.setProperty("http.proxyPort", Integer.toString(port));

System.setProperty("http.proxyHost", host);

System.setProperty("http.proxySet", "true");

}

public static void main(String[] args) throws IOException {

String url = "";

String proxy = "";

int port = 80;

String username = "username";

String password = "password";

String curLine = "";

String content = "";

URL server = new URL(url);

initProxy(proxy, port, username, password);

HttpURLConnection connection = (HttpURLConnection) server

.openConnection();

connection.connect();

InputStream is = connection.getInputStream();

BufferedReader reader = new BufferedReader(new

InputStreamReader(is));

while ((curLine = reader.readLine()) != null) {

content = content + curLine+ "/r/n";

}

System.out.println("content= " + content);

is.close();

System.out.println(getContent(url));

}

}

请大家帮帮忙. 使用java爬虫得到网页以后怎么提取里面自己需要的内容呢?如果会代码请您写一下.谢谢您

根据java网络编程相关的内容,使用jdk提供的相关类可以得到url对应网页的html页面代码。

针对得到的html代码,通过使用正则表达式即可得到我们想要的内容。

比如,我们如果想得到一个网页上所有包括“java”关键字的文本内容,就可以逐行对网页代码进行正则表达式的匹配。最后达到去除html标签和不相关的内容,只得到包括“java”这个关键字的内容的效果。

网页正文及内容图片提取算法

备份自:

问题: 如何提取任意(尤其是新闻、资讯类)网页的正文内容,提取与文章内容相关的图片,源码可见: extractor.py 。

抓取单个网站网页内容时通常采用正则匹配的方式,但不同网站之间结构千奇百怪,很难用统一的正则表达式进行匹配。 《基于行块分布函数的通用网页正文抽取算法》 的作者总结了一般从网页中提取文章正文的方法,提出基于行块分布的正文抽取算法,并给出了 PHP 、Java 等实现。这一算法的主要原理基于两点:

算法步骤如下:

以上算法基本可以应对大部分(中文)网页正文的提取,针对有些网站正文图片多于文字的情况,可以采用保留 img 标签中图片链接的方法,增加正文密度。目前少量测试发现的问题有:1)文章分页或动态加载的网页;2)评论长度过长喧宾夺主的网页。

关于java提取网页正文和提取网页文本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。