首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >美团商家采集软件手机版,提取手机号评分电话行业,java无障碍运行版

美团商家采集软件手机版,提取手机号评分电话行业,java无障碍运行版

原创
作者头像
用户11701393
发布2025-06-22 21:23:32
发布2025-06-22 21:23:32
1160
举报

文件已上传:https://www.pan38.com/share.php?code=pvvmX 提取码:8897

做美团店铺营销的经常需要手动一个个点击附近商家然后提取手机号,这种方法真的非常麻烦,而且还费劲,那么又办法能自动输入关键词然后自动搜索,自动筛选评分和店铺然后采集数据码?答案是肯定的,下面这个插件就可以实现这个效果,仅供学习。

代码语言:txt
复制

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class MeituanBusinessInfoApp {
    private static final String USER_AGENT = "Mozilla/5.0";
    private static final int TIMEOUT = 10000;
    
    public static void main(String[] args) {
        String demoUrl = "https://example.com/business"; // 示例URL
        List<BusinessInfo> businesses = fetchBusinessInfo(demoUrl);
        
        System.out.println("获取到 " + businesses.size() + " 条商家信息:");
        for (BusinessInfo biz : businesses) {
            System.out.println(biz);
        }
    }
    
    public static List<BusinessInfo> fetchBusinessInfo(String url) {
        List<BusinessInfo> result = new ArrayList<>();
        try {
            Document doc = Jsoup.connect(url)
                              .userAgent(USER_AGENT)
                              .timeout(TIMEOUT)
                              .get();
            
            Elements bizElements = doc.select(".business-item");
            for (Element elem : bizElements) {
                BusinessInfo biz = new BusinessInfo();
                biz.name = elem.select(".name").text();
                biz.rating = elem.select(".rating").text();
                biz.phone = elem.select(".phone").text();
                biz.category = elem.select(".category").text();
                result.add(biz);
            }
        } catch (IOException e) {
            System.err.println("获取数据失败: " + e.getMessage());
        }
        return result;
    }
    
    static class BusinessInfo {
        String name;
        String rating;
        String phone;
        String category;
        
        @Override
        public String toString() {
            return String.format("商家: %s\n评分: %s\n电话: %s\n分类: %s\n",
                               name, rating, phone, category);
        }
    }
}
代码语言:txt
复制
plugins {
    id 'java'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.jsoup:jsoup:1.15.3'
    implementation 'com.squareup.okhttp3:okhttp:4.10.0'
}

task runApp(type: JavaExec) {
    classpath = sourceSets.main.runtimeClasspath
    mainClass = 'MeituanBusinessInfoApp'
}
代码语言:txt
复制
import java.util.List;

public class BusinessInfoAdapter {
    private List<BusinessInfo> data;
    
    public BusinessInfoAdapter(List<BusinessInfo> data) {
        this.data = data;
    }
    
    public void filterByRating(float minRating) {
        data.removeIf(biz -> {
            try {
                return Float.parseFloat(biz.rating) < minRating;
            } catch (NumberFormatException e) {
                return true;
            }
        });
    }
    
    public void filterByCategory(String category) {
        data.removeIf(biz -> !biz.category.contains(category));
    }
}
代码语言:txt
复制

import java.util.List;
import java.util.stream.Collectors;

public class DataFilter {
    
    public static List<BusinessInfo> filterByRating(
        List<BusinessInfo> list, float minRating) {
        return list.stream()
            .filter(b -> Float.parseFloat(b.rating) >= minRating)
            .collect(Collectors.toList());
    }

    public static List<BusinessInfo> filterByPhonePrefix(
        List<BusinessInfo> list, String prefix) {
        return list.stream()
            .filter(b -> b.phone.startsWith(prefix))
            .collect(Collectors.toList());
    }
}
代码语言:txt
复制
 java.util.List;

public class BusinessDisplay {
    
    public static void printTable(List<BusinessInfo> list) {
        System.out.println("+----------------------+-------+----------------+--------------+");
        System.out.println("| 商家名称             | 评分  | 电话           | 行业分类     |");
        System.out.println("+----------------------+-------+----------------+--------------+");
        
        for (BusinessInfo biz : list) {
            System.out.printf("| %-20s | %-5s | %-14s | %-12s |\n",
                biz.name, biz.rating, biz.phone, biz.category);
        }
        
        System.out.println("+----------------------+-------+----------------+--------------+");
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档