搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
爱喝兽奶帝天荒
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
首届eBay全国跨境电商创新创业大赛启动!计划三年再培养上万名专业人才_历代ebay全国跨境电商大赛
2
如何备考PMP考试?
3
富唯智能&复合机器人
4
Python 中的 iter() 函数:迭代器的生成工具_python iter
5
C语言课程设计——学生考勤管理系统_c语言学生考勤管理系统流程图
6
如何使用Python和大模型进行数据分析和文本生成?_大模型python编译
7
图书管理系统设计文档汇总_图书馆管理系统文档
8
TF-IDF算法介绍及实现_idf频率转换
9
ORA-00257:archiver error.Connect internal only,until freed._ora-00257: archiver error. connect internal only,
10
SpringBoot整合ShardingSphere-JDBC实现分库分表(根据年分库,根据月分表)_shardingsphere-jdbc 5.3.0根据年份自动分表
当前位置:
article
> 正文
Java正则表达式获取网页所有网址和链接文字_使用正则表达式获取其中所有的新闻标题和链接地址
作者:爱喝兽奶帝天荒 | 2024-06-27 17:01:37
赞
踩
使用正则表达式获取其中所有的新闻标题和链接地址
/**/
/*
获取百度首页www.baidu.com的所有网址和链接文字*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.net.*;
import java.io.*;
import java.util.regex.*;
/*
根据指定的规则,通过构造正则表达式获取网址
*/
public
class
Urls
...
{
private
String startUrl;
//
开始采集网址
String urlContent;
String ContentArea;
private
String strAreaBegin ,strAreaEnd ;
//
采集区域开始采集字符串和结束采集字符串
private
String stringInUrl,stringNotInUrl;
String strContent;
//
获得的采集内容
String[] allUrls;
//
采集到的所有网址
private
String regex;
//
采集规则
UrlAndTitle urlAndTitle
=
new
UrlAndTitle();
//
存储网址和标题
public
static
void
main(String[] args)
...
{
Urls myurl
=
new
Urls(
"
<body
"
,
"
/body>
"
);
myurl.getStartUrl(
"
http://www.baidu.com/
"
);
myurl.getUrlContent();
myurl.getContentArea();
myurl.getStringInUrl(
"
http://www.baidu.com/
"
);
myurl.getStringNotInUrl(
"
google
"
);
myurl.Urls();
//
System.out.println("startUrl:"+myurl.startUrl);
//
System.out.println("urlcontent:"+myurl.urlContent);
//
System.out.println("ContentArea:"+myurl.ContentArea);
}
//
初始化构造函数 strAreaBegin 和strAreaEnd
public
Urls (String strAreaBegin,String strAreaEnd)
...
{
this
.strAreaBegin
=
strAreaBegin;
this
.strAreaEnd
=
strAreaEnd;
}
//
public
void
Urls()
...
{
int
i
=
0
;
//
String regex ="<a href="?'?http:
//
[a-zA-Z0-9]+/.[a-zA-Z0-9]+/.[a-zA-Z]+/?[/.?[/S|/s]]+[a>]$";
String regex
=
"
<a.*?/a>
"
;
//
String regex ="http:
//
.*?>";
Pattern pt
=
Pattern.compile(regex);
Matcher mt
=
pt.matcher(ContentArea);
while
(mt.find())
...
{
System.out.println(mt.group());
i
++
;
//
获取标题
Matcher title
=
Pattern.compile(
"
>.*?</a>
"
).matcher(mt.group());
while
(title.find())
...
{
System.out.println(
"
标题:
"
+
title.group().replaceAll(
"
>|</a>
"
,
""
));
}
//
获取网址
Matcher myurl
=
Pattern.compile(
"
href=.*?>
"
).matcher(mt.group());
while
(myurl.find())
...
{
System.out.println(
"
网址:
"
+
myurl.group().replaceAll(
"
href=|>
"
,
""
));
}
System.out.println();
}
System.out.println(
"
共有
"
+
i
+
"
个符合结果
"
);
}
//
获得开始采集网址
public
void
getStartUrl(String startUrl)
...
{
this
.startUrl
=
startUrl;
}
//
获得网址所在内容;
public
void
getUrlContent()
...
{
StringBuffer is
=
new
StringBuffer();
try
...
{
URL myUrl
=
new
URL(startUrl);
BufferedReader br
=
new
BufferedReader(
new
InputStreamReader(myUrl.openStream()));
String s;
while
((s
=
br.readLine())
!=
null
)
...
{
is.append(s);
}
urlContent
=
is.toString();
}
catch
(Exception e)
...
{
System.out.println(
"
网址文件未能输出
"
);
e.printStackTrace();
}
}
//
获得网址所在的匹配区域部分
public
void
getContentArea()
...
{
int
pos1
=
0
,pos2
=
0
;
pos1
=
urlContent.indexOf(strAreaBegin)
+
strAreaBegin.length();
pos2
=
urlContent.indexOf(strAreaEnd,pos1);
ContentArea
=
urlContent.substring(pos1,pos2);
}
//
以下两个函数获得网址应该要包含的关键字及不能包含的关键字
//
这里只做初步的实验。后期,保护的关键字及不能包含的关键字应该是不只一个的。
public
void
getStringInUrl(String stringInUrl)
...
{
this
.stringInUrl
=
stringInUrl;
}
public
void
getStringNotInUrl(String stringNotInUrl)
...
{
this
.stringNotInUrl
=
stringNotInUrl;
}
//
获取采集规则
//
获取url网址
public
void
getUrl()
...
{
}
public
String getRegex()
...
{
return
regex;
}
class
UrlAndTitle
...
{
String myURL;
String title;
}
}
输出结果为
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/763121
推荐阅读
article
Linux 配置
java
环境
java
:
command
not
found
_
linux
java
...
配置信息也没错,哪里都没有问题,但就是找不到yum install
java
-1.8.0-openjdk-devel.x...
赞
踩
article
java
jdbc
连接数据库(使用
mysql
进行连接)_
import
com.
mysql
.
jdbc
....
java
jdbc
连接数据库(使用
mysql
进行连接)_
import
com.
mysql
.
jdbc
.
jdbc
2.opti...
赞
踩
article
java
-
数据结构
与算法-
02
-
数据结构
-01-
数组
...
定义在计算机科学中,
数组
是由一组元素(值或变量)组成的
数据结构
,每个元素有至少一个索引或键来标识知道了
数组
的数据起始地址...
赞
踩
article
java
.
lang
.
UnsatisfiedLinkError
异常的
正确
解决
方法
,亲测有效嘿嘿嘿...
`
java
.
lang
.
UnsatisfiedLinkError
` 是 Java 在尝试调用本地
方法
(即 native 方...
赞
踩
article
SpringBootWeb
篇-深入了解
Redis
五种类型
命令
与如何在
Java
中操作 Red...
redis
.windows.conf:配置文件,用来配置
Redis
服务器的各种参数和选项。
redis
-server....
赞
踩
article
java
:
错误
:
无效的源
发行版
:
17
...
java
:
错误
:
无效的源
发行版
:
17
_
java
:
错误
:
无效的源
发行版
:
17
java
:
错误
:
无效的源
发行版
:
1...
赞
踩
article
【2024最新华为OD-
C
/D卷试题汇总】[支持在线评测]
剩余
银饰
的
重量
(
100
分) - 三
语言
A...
K小姐从二手市场收集了 NNN 块
银饰
,每块
银饰
的
重量
都是正整数。这些
银饰
会被熔化用于打造新
的
饰品。每一回合,K小姐会选...
赞
踩
article
【2024最新
华为
OD-
C
/D卷试题汇总】[支持在线评测] 连续
字母
长度
(
100
分) - 三
语言
A
C
...
### 问题描述K小姐有一个只包含大写
字母
的字符串,她想知道在所有包含同一
字母
的子串中,
长度
第 $k$ 大的子串的
长度
是...
赞
踩
article
【2024最新华为OD-
C
/D卷试题汇总】[支持在线评测]
内存
访问
热度
分析(
100
分) - 三
语言
...
在一个计算机系统中,我们需要根据
内存
页的
访问
次数对其进行
热度
标记,以优化
内存
的存储和
访问
效率。
内存
页使用页框号进行标识,...
赞
踩
article
【2024最新
华为
OD-
C
/D卷试题汇总】[支持在线评测]
密码
解密(
100
分) - 三
语言
A
C
题解...
### 问题描述LYA 收到了一段加密后的字符串 $s$,这段字符串是通过一个特殊的 "
密码
本" 加密的。"
密码
本" 的...
赞
踩
article
【2024最新华为OD-
C
/D卷试题汇总】[支持在线评测]
字符串
分
隔(二)(
100
分
) - 三
语言
...
### 问题描述K小姐有一个由可见字符组成的
字符串
$S$,长度为 $N$。现在她需要对
字符串
进行如下处理:1. 将字符...
赞
踩
article
【2024最新华为OD-C/D卷试题汇总】
目录
管理器
(200分) - 支持
在线
评测
+三
语言
AC
题解...
oj
在线
评测
详细
python
...
赞
踩
article
【2024最新
华为
OD-
C
/D卷试题汇总】[支持在线评测]
字符串
变换
(
100
分) - 三语言
A
C
题...
K小姐有一个由小写字母组成的
字符串
$s$。现在她想对
字符串
$s$ 进行
变换
,使得
变换
后的
字符串
字典序最小。
变换
的规则...
赞
踩
article
【2024最新
华为
OD-
C
/D卷试题汇总】[支持在线评测]
单词
大师(
100
分) - 三
语言
A
C
题解...
请输出你能够拼写出的 $words$ 中的
单词
数量。如果一个也拼写不出,则输出 $0$。### 输入格式第一行输入一个整...
赞
踩
article
【2024最新
华为
OD-
C
/D卷试题汇总】[支持在线评测] 智能
成绩表
(
100
分) - 三
语言
A
C
题...
K小姐是一位教师,她需要一个学生成绩管理系统来帮助她对学生的考试成绩进行排名。系统需要支持按照总分或者单科成绩进行排序。...
赞
踩
article
【
华为
OD机试】
游戏
分组
(DFS深度优先搜索-
Java
&
Python
&
C++
&
JS
实现)_
华为
机考游...
【
华为
OD机试】
游戏
分组
(DFS深度优先搜索-
Java
&
Python
&
C++
&
JS
实现)部门准备举办一场王者荣耀表演赛,...
赞
踩
article
【免费题库】华为OD机试C卷 -
游戏
分组(
Java
代码+解析)_现在给你
10
名
参与者
的
游戏
水...
题目描述部门准备举办一场王者荣耀表演赛,有
10
名
游戏
爱好者参与,分为两队,每队 5 人。每位
参与者
都有一个
评分
,代表...
赞
踩
article
AI
与
Java
的
结合
:引领
编程
未来的新趋势_ai 与
java
方向 整合...
通过利用
Java
实现
AI
算法、与
AI
平台集成以及构建
AI
应用等方式,我们可以充分发挥
Java
的优势,提升
编程
效率、增强应...
赞
踩
article
java
通过坐标取
pdf
某页
表格
中
的
数据
_这个使用
Python
编写
的
PDF
神器你值得拥有!...
如果经常跟
数据
表格
打交道,那你应该体验过那种令人烦躁到抓狂
的
心情。但现在,学会下面将要介绍
的
一款工具
的
使用方法,相信我,...
赞
踩
article
Java
PDF
Box
提取
PDF
中
字符
的
坐标
或位置 -_
pdfbox
获取关键字
坐标
...
为了
提取
pdf 中
字符
的
坐标
或位置和大小,我们将扩展
PDF
TextStripper 类,拦截并实现writeStri...
赞
踩
相关标签
linux
java
数据结构
开发语言
redis
数据库
缓存
java-ee
华为od
c语言
python