网页爬虫:就是一个程序用于在互联网中获取指定规则的数据。这篇文章主要介绍了使用正则表达式实现网页爬虫的思路详解,需要的朋友可以参考下

网页爬虫:就是一个程序用于在互联网中获取指定规则的数据。

思路:

1.为模拟网页爬虫,我们可以现在我们的tomcat服务器端部署一个1.html网页。(部署的步骤:在tomcat目录的webapps目录的ROOTS目录下新建一个1.html。使用notepad++进行编辑,编辑内容为:

2.使用URL与网页建立联系
3.获取输入流,用于读取网页中的内容
4.建立正则规则,因为这里我们是爬去网页中的邮箱信息,所以建立匹配 邮箱的正则表达式:String regex="\w+@\w+(.\w+)+";
5.将提取到的数据放到集合中。

代码:

`import java.io.BufferedReader;`
`import java.io.InputStream;`
`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;`
`/*`
`* 网页爬虫:就是一个程序用于在互联网中获取指定规则的数据`
`*`
`*`
`*/`
欢迎加入全栈开发交流划水交流圈:582735936
面向划水1-3年前端人员
帮助突破划水瓶颈,提升思维能力
`public class RegexDemo {`
`public static void main(String[] args) throws Exception {`
`List<String> list=getMailByWeb();`
`for``(String str:list){`
`System.out.println(str);`
`}`
`}`
`private static List<String> getMailByWeb() throws Exception {`
`//1.与网页建立联系。使用URL`
`String path=``"[http://localhost:8080//1.html](http://localhost:8080//1.html)"``;//后面写双斜杠是用于转义`
`URL url=``new` `URL(path);`
`//2.获取输入流`
`InputStream is=url.openStream();`
`//加缓冲`
`BufferedReader br=``new` `BufferedReader(``new` `InputStreamReader(is));`
`//3.提取符合邮箱的数据`
`String regex=``"\\w+@\\w+(\\.\\w+)+"``;`
`//进行匹配`
`//将正则规则封装成对象`
`Pattern p=Pattern.compile(regex);`
`//将提取到的数据放到一个集合中`
`List<String> list=``new` `ArrayList<String>();`
`String line=``null``;`
`while``((line=br.readLine())!=``null``){`
`//匹配器`
`Matcher m=p.matcher(line);`
`while``(m.find()){`
`//3.将符合规则的数据存储到集合中`
`list.add(m.group());`
`}`
`}`
`return` `list;`
`}`
`}`
复制代码

注意:在执行前需要先开启tomcat服务器

运行结果:

总结

以上所述是小编给大家介绍的使用正则表达式实现网页爬虫的思路详解,希望对大家有所帮助,如果大家有任何疑问请给我留言

使用正则表达式实现网页爬虫的思路详解相关推荐

  1. java 天气爬虫_java网页爬虫简单实例详解——获取天气预报。

    [本文介绍] 爬取别人网页上的内容,听上似乎很有趣的样子,只要几步,就可以获取到力所不能及的东西,例如呢?例如天气预报,总不能自己拿着仪器去测吧!当然,要获取天气预报还是用webService好.这里 ...

  2. vuepdf转换html,Vue网页html转换PDF(最低兼容ie10)的思路详解

    Vue网页html转换PDF(最低兼容ie10)的思路详解 发布时间:2020-10-16 13:05:09 来源:脚本之家 阅读:95 作者:冷藏封 HTML转PDF: 1.页面底层实现--Vue: ...

  3. python正则表达式提取数字比较好_python正则表达式从字符串中提取数字的思路详解...

    python从字符串中提取数字 使用正则表达式,用法如下: ## 总结 ## ^ 匹配字符串的开始. ## $ 匹配字符串的结尾. ## \b 匹配一个单词的边界. ## \d 匹配任意数字. ## ...

  4. 关于日期正则表达式的思路详解

    1        概述 首先需要说明的一点,无论是Winform,还是Webform,都有很成熟的日历控件,无论从易用性还是可扩展性上看,日期的选择和校验还是用日历控件来实现比较好. 前几天在CSDN ...

  5. fofa自动化爬虫脚本更新+详解

    fofa自动化爬虫脚本更新+详解 起因 最近要用到fofa爬虫,为什么要用爬虫不用api,问就是穷,想起来之前写过一个相关的脚本:Fofa-python-脚本,是很久以前写的了,之前写的时候有点问题, ...

  6. python爬虫入门实例-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 要求是把你所在城市过去一年的历史数据爬出来. 分析网站 我们可以看到,我们需要的天气数据都是放在图表上的,在切换月份的时候,发现只有 ...

  7. python编程入门与案例详解pdf-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬 ...

  8. python编程入门与案例详解-Python爬虫天气预报实例详解(小白入门)

    本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下. 这次要爬的站点是这个:http://www.weather.com.cn/forecast/ 要求是把你所在城市过去一年的历史数据爬 ...

  9. Python爬虫JS解密详解,学会直接破解80%的网站(一)!!!

    文章目录 1.网页查看 2.有道翻译简单实现源码 3.JS解密(详解) 4.python实现JS解密后的完整代码 4.1.实现效果 5.JS解密后完整代码升级版 5.1.实现效果 CSDN独家福利降临 ...

  10. HTML5实现视频直播功能思路详解

    HTML5实现视频直播功能思路详解 最近视频直播比较火,发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主,PC端则以 RTMP 为主实时性较好,接下 ...

最新文章

  1. 为什么mysql打开闪屏_mysql登录闪屏问题解决办法
  2. JAVA学习--反射属性操作
  3. python比较好的视频教程-哪里有免费的python3教程啊?最好是有例子的视频教学...
  4. 学python找工作好找吗-前辈经历告诉你Python新手好找工作吗?初级岗位多不多
  5. 中间层体系结构的好处
  6. (转)CSS样式表继承详解
  7. 栈判断字符串是否为中心对称_数据结构和算法入门之判断括号字符串的合法性(valid parentheses)...
  8. 【Hibernate】hibernate实体关系映射——单边的多对多关系
  9. linux ftp图片服务器,linux ftp 图片服务器
  10. Android开发笔记(十)常用的图片加工操作
  11. 90后IT男被准丈母娘拒绝:家境不重要,重要的是…戳中痛处
  12. 30分钟快速上手mybatis框架,内容简单易懂,绝无废话,追求速度的来
  13. 【Java】JSON转EXCEL,支持多个数组生成多个sheet、附表头替换
  14. matlab实时处理数据,Matlab下实现的实时数据采集和处理
  15. delphi编写ocx控件步骤
  16. Java中对象属性的初始化顺序
  17. 显卡服务器已停止响应,显卡驱动停止响应并已成功恢复问题,找到根本原因,彻底解决!...
  18. 公众平台账号注销方法(组织类型)
  19. 必备工具!程序员高效率工作工具推荐
  20. 窗帘盒有哪些种类,怎样安装窗帘盒?

热门文章

  1. Android Studio 4.1一键生成代码Template
  2. 程序员如何保护好自己的发际线
  3. CAD中 OLE不能旋转_【设计图文】大空间旋转喷头零件的数控加工工艺设计、编程与加工(有全套cad图+程序+中英文翻译)...
  4. RazorPage介绍(一)
  5. 修改XAMPP端口(2)
  6. c++ 将变量有序保存在txt文件中_python读写文件(四)
  7. MAC修改.bashrc/.bash_profile无效,默认的用户配置文件是.zshrc,
  8. 如何去掉腾讯网址安全中心提醒
  9. Runtime.getRuntime().exec()如何调用7z解压文件
  10. 分析华为毕昇JDK8:类数据共享CDS有效果,幅度很小