java 爬虫详解及简单实例
发布时间 - 2026-01-11 01:15:41 点击率:次Java爬虫

一、代码
爬虫的实质就是打开网页源代码进行匹配查找,然后获取查找到的结果。
打开网页:
URL url = new URL(http://www.cnblogs.com/Renyi-Fan/p/6896901.html);
读取网页内容:
BufferedReader bufr = new BufferedReader(new InputStreamReader(url.openStream()));
正则表达式进行匹配:
tring mail_regex = "\\w+@\\w+(\\.\\w+)+";
储存结果:
List<String> list = new ArrayList<String>();
/*
* 获取
* 将正则规则进行对象的封装。
* Pattern p = Pattern.compile("a*b");
* //通过正则对象的matcher方法字符串相关联。获取要对字符串操作的匹配器对象Matcher .
* Matcher m = p.matcher("aaaaab");
* //通过Matcher匹配器对象的方法对字符串进行操作。
* boolean b = m.matches();
*/
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Spider {
public static void main(String[] args) throws IOException {
// List<String> list = getMails();
// for(String mail : list){
// System.out.println(mail);
// }
List<String> list = getMailsByWeb();
for(String mail : list){
System.out.println(mail);
}
}
public static List<String> getMailsByWeb() throws IOException{
//1,读取源文件。
//URL url = new URL("http://192.168.1.100:8080/myweb/mail.html");
//URL url = new URL("http://localhost:8080/SecondWeb/index.jsp");
URL url = new URL("http://www.cnblogs.com/Renyi-Fan/p/6896901.html");
BufferedReader bufr = new BufferedReader(new InputStreamReader(url.openStream()));
//2,对读取的数据进行规则的匹配。从中获取符合规则的数据.
String mail_regex = "\\w+@\\w+(\\.\\w+)+";
List<String> list = new ArrayList<String>();
Pattern p = Pattern.compile(mail_regex);
String line = null;
while((line=bufr.readLine())!=null){
Matcher m = p.matcher(line);
while(m.find()){
//3,将符合规则的数据存储到集合中。
list.add(m.group());
}
}
return list;
}
public static List<String> getMails() throws IOException{
//1,读取源文件。
BufferedReader bufr = new BufferedReader(new FileReader("c:\\mail.html"));
//2,对读取的数据进行规则的匹配。从中获取符合规则的数据.
String mail_regex = "\\w+@\\w+(\\.\\w+)+";
List<String> list = new ArrayList<String>();
Pattern p = Pattern.compile(mail_regex);
String line = null;
while((line=bufr.readLine())!=null){
Matcher m = p.matcher(line);
while(m.find()){
//3,将符合规则的数据存储到集合中。
list.add(m.group());
}
}
return list;
}
}
二、运行结果
abc1@sina.com.cn 1@1.1
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java
# 爬虫详解
# 爬虫
# Java 网络爬虫基础知识入门解析
# JAVA使用HtmlUnit爬虫工具模拟登陆CSDN案例
# Java实现的爬虫抓取图片并保存操作示例
# java实现爬虫爬网站图片的实例代码
# JAVA爬虫实现自动登录淘宝
# java实现一个简单的网络爬虫代码示例
# Java爬虫Jsoup+httpclient获取动态生成的数据
# Java 爬虫如何爬取需要登录的网站
# 数据存储
# 打开网页
# 希望能
# 相关联
# 要对
# 谢谢大家
# 源代码
# 正则表达式
# lt
# String
# gt
# List
# tring
# openStream
# mail_regex
# Matcher
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何在建站之星绑定自定义域名?
b2c电商网站制作流程,b2c水平综合的电商平台?
如何注册花生壳免费域名并搭建个人网站?
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
Laravel如何实现一对一模型关联?(Eloquent示例)
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
Python并发异常传播_错误处理解析【教程】
南京网站制作费用,南京远驱官方网站?
如何快速搭建高效可靠的建站解决方案?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何在建站主机中优化服务器配置?
进行网站优化必须要坚持的四大原则
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
网站建设整体流程解析,建站其实很容易!
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
使用豆包 AI 辅助进行简单网页 HTML 结构设计
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
如何用免费手机建站系统零基础打造专业网站?
免费网站制作appp,免费制作app哪个平台好?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
深圳网站制作培训,深圳哪些招聘网站比较好?
如何用VPS主机快速搭建个人网站?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
bootstrap日历插件datetimepicker使用方法
LinuxShell函数封装方法_脚本复用设计思路【教程】
Laravel怎么上传文件_Laravel图片上传及存储配置
如何在服务器上三步完成建站并提升流量?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
如何自定义建站之星网站的导航菜单样式?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何在万网主机上快速搭建网站?
如何快速生成凡客建站的专业级图册?
如何在宝塔面板创建新站点?
Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
如何用虚拟主机快速搭建网站?详细步骤解析
JavaScript如何实现路由_前端路由原理是什么
如何用腾讯建站主机快速创建免费网站?
如何在云虚拟主机上快速搭建个人网站?
JavaScript如何实现倒计时_时间函数如何精确控制
如何彻底卸载建站之星软件?

