实战二:网络爬虫

1.制造假数据

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

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

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

java 复制代码
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();
    }
}
相关推荐
喵手2 小时前
Python爬虫实战:Apple Music华语榜每日增量追踪与峰值计算!
爬虫·python·爬虫实战·零基础python爬虫教学·apply music·华语榜单·每日增量与峰值计算
Leo⁵3 小时前
通过DrissionPage爬取boss直聘,绕过__zp_stoken__解析
爬虫·python·自动化
小邓睡不饱耶3 小时前
基于Python的Q房网二手房数据爬虫实现
开发语言·爬虫·python
深蓝电商API3 小时前
爬虫任务调度:APScheduler 定时执行
开发语言·爬虫·python
kang_jin3 小时前
超详细 Python 爬虫指南
开发语言·爬虫·python
IT北辰4 小时前
不规则 Excel“数据提取——教师课表自动汇总实战
开发语言·爬虫·python
进击的雷神4 小时前
无分页一次性加载、多级CSS类名定位、动态User-Agent轮换、断点本地备份——意大利塑料展爬虫四大技术难关攻克纪实
前端·css·爬虫·python
Eward-an5 小时前
Libvio.link爬虫技术全解析:从结构分析到合规实现
爬虫
喵手5 小时前
Python爬虫实战:Playwright 监听快手直播间,自动化采集实时在线与礼物数据!
爬虫·python·爬虫实战·快手·playwright·零基础python爬虫教学·采集快手直播间数据
IP搭子来一个14 小时前
爬虫IP地址受限怎么办?附解决方法
网络·爬虫·tcp/ip