本文目录一览:
- 1、Java语言编写提取网页信息!求高手指导!
- 2、Java 如何只提取网页源代码中的正文部分,就是正文部分包含标签也没关系,就是要那部分包含标签的正文
- 3、如何提取网页里的文本?
- 4、我想用java的正则表达式提取网页正文,但不知道哪里错了,请帮忙看一下这个表达式
Java语言编写提取网页信息!求高手指导!
JSoup就是很好的第三方解析网页的工具
Document doc1 = Jsoup.connect(“地址”).get();//参数是地址
Document doc2 = Jsoup.parse(String html);//参数是网页字符串
//然后就是利用JSoup解析网页
优势:爬取网页快速. 解析网页方便
强烈推荐~
Java 如何只提取网页源代码中的正文部分,就是正文部分包含标签也没关系,就是要那部分包含标签的正文
相似网页可以用正则表达式来截取
不同网站的设计,对正文部分没有一个统一的规则。。。
只能找规律,然后做一个类似通解的方法,但是误差无法避免了。。
大概思路如下:
可以尝试着做一个对比的方法,找出某个标签内的文字和标签的比例最大
文字最多,标签最少的 一般来说是正文
具体实现:
得到网页内容,把网页内容分析成一个树(按照每个标签为一个节点),树的内容包含子节点数和该树一下的文字内容数量。
大概的对节点进行对比分析,得到节点最少,文字最多的节点。 这个就是那个正文节点了。
以上内容只适合博客、文章、新闻类的网站。搜索引擎网站等 很多标签穿插其间的无法适用。
如何提取网页里的文本?
1、首先,我们打开浏览器,找到需要复制的文字。
2、右键点击网页内的空白处,如图所示,弹出菜单中选择“审查元素”。
3、此时,页面就会显示所有组成元素,我们只要选中我们需要复制的段落,右键点击,“copy element”(复制元素)就可以了。
4、打开记事本或者Word,点击粘贴,文字复制下来的效果如下图所示。
我想用java的正则表达式提取网页正文,但不知道哪里错了,请帮忙看一下这个表达式
div\sclass\=”content\-body”\sid\=”shareBody”(?value(\w*))\/div
import java.util.regex.*;
// 表达式对象
Pattern p = Pattern.compile(“div\\sclass\\=\”content\\-body\”\\sid\\=\”shareBody\”(?value(\\w*))\\/div”);
// 创建 Matcher 对象
Matcher m = p.matcher(“”);
// 是否找到匹配
boolean found = m.find();
if( found )
{
String foundstring = m.group();
int beginPos = m.start();
int endPos = m.end();
}
原创文章,作者:EUCWO,如若转载,请注明出处:https://www.506064.com/n/325016.html