「java提取网页正文」提取网页文本
本篇文章给大家谈谈java提取网页正文,以及提取网页文本对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何提取网页里的文本?
- 2、java 用正则表达式提取网页文字
- 3、JAVA怎么提取网页中的指定内容
- 4、java如何获取网页中的文字
- 5、请大家帮帮忙. 使用java爬虫得到网页以后怎么提取里面自己需要的内容呢?如果会代码请您写一下.谢谢您
- 6、网页正文及内容图片提取算法
如何提取网页里的文本?
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提取网页正文和提取网页文本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-12,除非注明,否则均为
原创文章,转载请注明出处。