稳铁蛋 2025-06-10 16:42 采纳率: 0%
浏览 6

关于外卖软件数据抓取的问题

公司是代运营公司,需求是抓取外卖商家后端数据(单量,进店人数),有商家的账号密码,但是登录需要滑动验证跟短信验证。
目前使用的方法是保持登录状态,代码中携带cookie访问后端接口查询。
尝试过在服务器上搭建一个novnc 运行chrome 但是内存占用太高
也尝试过使用使用RPA 觉得店铺有点多都是用短信转发工具不太现实
指导一下有什么方案能实现店铺大概100多家

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-06-10 16:42
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    关于外卖软件数据抓取的问题

    你公司需要抓取外卖商家后端数据,包括单量和进店人数,但是登录需要滑动验证和短信验证。目前你使用的是保持登录状态,携带cookie访问后端接口查询的方法。

    考虑到滑动验证和短信验证的存在,这种方法可能不太可靠。下面是一些可能的解决方案:

    1. 使用代理IP池:可以使用代理IP池来模拟用户的行为,避免被检测到。
    2. 使用验证码识别工具:可以使用验证码识别工具来识别滑动验证和短信验证。
    3. 使用机器学习算法:可以使用机器学习算法来学习滑动验证和短信验证的规律,自动完成验证。
    4. 与商家合作:可以与商家合作,获取合法的数据抓取权限。

    在Java中,可以使用以下库来实现数据抓取:

    • OkHttp:一个高效的HTTP客户端库,可以用来抓取数据。
    • Jsoup:一个HTML解析库,可以用来解析抓取到的数据。
    • Apache HttpClient:一个HTTP客户端库,可以用来抓取数据。

    以下是一个简单的示例代码,使用OkHttp和Jsoup抓取数据:

    OkHttpClient client = new OkHttpClient();
    Request request = new Request.Builder()
        .url("https://example.com/api/data")
        .header("Cookie", "your_cookie")
        .build();
    Response response = client.newCall(request).execute();
    String html = response.body().string();
    Document doc = Jsoup.parse(html);
    // 解析数据
    

    需要注意的是,这只是一个简单的示例代码,实际实现中需要根据具体情况进行修改和优化。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月10日