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

java爬虫抓取网页搜索数据

首先访问这个使用必应并搜索想要的内容
https://www.bing.com/images/search?q=[把这里替换成想要的搜索内容]
按下f12来查看源码
https://www.bing.com/images/search?q=
我们可以找到a.iusc这个元素可以获取图片的源地址
注意,直接选中网页上的图片只能看到它的缩略图在哪。
由此可以编写出来爬虫脚本来下载指定搜索内容前几张

public static void downloadImage(String imgUrl, String fileName) throws Exception {
        URL url = new URL(imgUrl);
        URLConnection con = url.openConnection();
        con.setConnectTimeout(10 * 1000);
        InputStream is = con.getInputStream();
        byte[] bs = new byte[1024];
        int len;
        OutputStream os = new FileOutputStream(fileName);
        while ((len = is.read(bs)) != -1) {
            os.write(bs, 0, len);
        }
        os.close();
        is.close();
    }

    public static void getImage(String keyword) {
        String searchUrl = "https://www.bing.com/images/search?q=" + keyword;
        try {
            Document doc = Jsoup.connect(searchUrl).get();
            Elements imgElements = doc.select("a.iusc"); // 获取存有原图链接的 a 标签
            int count = 0;

            for (Element imgElement : imgElements) {
                String mData = imgElement.attr("m"); // 获取 m 属性中的 JSON 数据

                // 使用正则解析 murl(高清图片 URL)
                Pattern pattern = Pattern.compile("\"murl\":\"(.*?)\"");
                Matcher matcher = pattern.matcher(mData);
                if (matcher.find()) {
                    String imgUrl = matcher.group(1);
                    System.out.println("高清图片URL:" + imgUrl);

                    // 下载图片
                    downloadImage(imgUrl, "image" + count + ".jpg");
                    count++;
                    if (count >= 5) break; // 只下载前 5 张
                }
            }
        } catch (Exception e) {
            System.out.println("获取图片出错:" + e.getMessage());
        }
    }

相关文章:

  • 蓝桥杯 Java B 组 之树的基础(二叉树遍历)
  • Linux Socket编程:TCP开发指南
  • MoE硬件部署
  • 动态规划从入坟走向入坑
  • Python 和 R机器学习(2)随机森林
  • 通信:Winform(结合C#) TCP服务端
  • 探秘 Python 枚举类型:从基础到实战的深度指南
  • uniapp Flex 布局使用记录
  • CE RED 增加网络安全 添加新网络安全类型
  • python爬虫系列课程2:如何下载Xpath Helper
  • curl 命令详细介绍
  • 负载均衡(SLB)后端实例不健康:腾讯云如何协助解决
  • 【C++设计模式 – 工厂(Factory)模式】—— 对象创建的优雅解耦方案
  • Linux面试题
  • Bom详解和Dom详解
  • 本地使用docker部署DeepSeek大模型
  • 【保姆级教程】DeepSeek R1+RAG,基于开源三件套10分钟构建本地AI知识库
  • Java全栈项目-田径运动会管理系统
  • 23种设计模式 - 责任链
  • 存储结构 分类
  • 牛市早报|4月新增社融1.16万亿,降准今日正式落地
  • 市场监管总局召开平台企业支持个体工商户发展座谈会
  • 中哥两国元首共同见证签署《中华人民共和国政府与哥伦比亚共和国政府关于共同推进丝绸之路经济带和21世纪海上丝绸之路建设的合作规划》
  • 中国巴西关于乌克兰危机的联合声明
  • 广东:十年后省级水网主骨架全面建成,与国家骨干网互联互通
  • 中国潜水救捞行业协会发布《呵护潜水员职业健康安全宣言》