当前位置: 首页 > news >正文

实战二:网络爬虫

1.制造假数据

获取姓氏网址:百家姓_诗词_百度汉语

获取男生名字:男生有诗意的名字推荐(龙年男孩起名)

获取女生名字:2024年清新有诗意女孩名字取名(龙年女孩名字)

public class test1 {public static void main(String[] args) throws IOException {//1.定义变量记录网址String familyName = "https://hanyu.baidu.com/shici/detail?pid=0b2f26d4c0ddb3ee693fdb1137ee1b0d&from=kg0";String boyName = "http://www.haoming8.cn/baobao/10881.html";String girlName = "http://www.haoming8.cn/baobao/7641.html";//2.爬取数据,把网址上所有的数据拼接成一个字符串String FamilyName = webCrawler(familyName);String BoyName = webCrawler(boyName);String GirlName = webCrawler(girlName);//System.out.println(FamilyName);ArrayList<String> FamilyNameList = getData(FamilyName, "([\\u4e00-\\u9fa5]{4})(,|。)", 1);ArrayList<String> boyNameList = getData(BoyName, "([\\u4e00-\\u9fa5]{2})(、|。)", 1);ArrayList<String> girlNameList = getData(GirlName,"([\\u4e00-\\u9fa5]{2})( )", 1);System.out.println(FamilyNameList);System.out.println(boyNameList);System.out.println(girlNameList);}private static ArrayList<String> getData(String str, String regex, int index) {//1.创建集合存放数据ArrayList<String> list = new ArrayList<>();//2.按照正则表达式的规则,去获取数据Pattern pattern = Pattern.compile(regex);//按照pattern的规则,到str当中获取数据Matcher matcher = pattern.matcher(str);while(matcher.find()){list.add(matcher.group(index));}return list;}public static String webCrawler(String net) throws IOException {StringBuilder sb = new StringBuilder();//创建一个url对象URL url = new URL(net);URLConnection conn = url.openConnection();InputStreamReader isr = new InputStreamReader(conn.getInputStream());int ch;while ((ch = isr.read()) != -1) {sb.append((char) ch);}isr.close();return sb.toString();}
}


http://www.mrgr.cn/news/56745.html

相关文章:

  • 二叉树的最小深度
  • 如何预防数据打架?数据仓库如何保持指标数据一致性开发指南(持续更新)
  • 高光束质量半导体激光器质量可靠性如何辨别?
  • 清理数据库中的某个部门树
  • 《云原生安全攻防》-- K8s攻击案例:权限维持的攻击手法
  • 《Python游戏编程入门》注-第3章1
  • Python N次函数拟合
  • Vue学习笔记(一、关于MVC和MVVM)
  • 【SRS】
  • 高质量AI绘画提示词10个,学到就是赚到!
  • C/C++使用中的小技巧
  • 若依框架定制
  • 深入理解CityHash算法
  • 【MATLAB源码-第262期】基于matlab的OFDM+QPSK多径信道下图片传输系统仿真,多径数目为5,子载波64,对比前后的图片
  • 【MATLAB源码-第261期】基于matlab的帝企鹅优化算法(EPO)机器人栅格路径规划,输出做短路径图和适应度曲线
  • 学习threejs,THREE.PointCloud(新版本改名:THREE.Points)批量管理粒子
  • 公开课 | AI赋能自动化测试:解锁未来测试新篇章
  • Spring Boot环境下的论坛网站设计与实现
  • 物理海洋随学笔记(一)
  • (二十)Java之多线程