通过Jsoup,爬取车辆品牌,车系,LOGO等
2024-10-22 05:18:21
@Test
public void test4() throws IOException {
for (int i = 65; i <= 90; i++) {
String value = String.valueOf((char) i); FileUtil.mkdir("e://pinpai//" + value); System.out.println("***********************" + value);
String url = "https://www.autohome.com.cn/grade/carhtml/" + value + ".html";
Document document = Jsoup.parse(new URL(url), 300000);
document.getElementsByTag("dl").stream().forEach(element -> {
String imgUrl = "https:" + element.getElementsByTag("dt").get(0).getElementsByTag("img").get(0).attr("src");
String mainBrand = element.getElementsByTag("dt").get(0).getElementsByTag("a").get(1).text(); //图片LOG
System.out.println(imgUrl);
//System.out.println(HttpUtil.downloadFile(imgUrl, FileUtil.file("e://pinpai//" + value)));
//主品牌
System.out.println(mainBrand);
//子品牌
element.getElementsByTag("dd").get(0).getElementsByClass("h3-tit").tagName("a").stream().forEach(element1 -> {
System.out.println(element1.text());
//车系
List<String> seriesBrand = element1.nextElementSibling().getElementsByTag("h4").stream().map(Element::text).collect(Collectors.toList());
System.out.println(); //vehicleBrandService.save(VehicleBrand.builder().flag(value).logoBrand(imgUrl).mainBrand(mainBrand).subBrands(element1.text()).seriesBrand(JSON.toJSONString(seriesBrand)).build());
});
System.out.println("-----------");
});
}
}
最新文章
- IO流-----写到输出流
- 认识VTK工作原理
- swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念
- 一道Integer面试题引发的对Integer的探究
- Python学习之路
- BZOJ 1087状态压缩DP
- [C++程序设计]返回指针值的函数
- js获得url内的参数
- 电脑bios到底是什么?
- 【新提醒】N820 N821 android 4.2 V1.1版 - 大V综合交流区 - 360官方论坛
- 升级后 VTE 类虚拟终端不工作
- python2.7 的中文编码处理,解决UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode character 问题
- Gym - 101982F Rectangles (扫描线+线段树)
- codeforces982F
- kafka consumer 指定 offset,进行消息回溯
- 自学Aruba5.1-Aruba 基于角色(role)的策略管理(重点)
- Linux/shell: Concatenate multiple lines to one line
- 力扣(LeetCode)976. 三角形的最大周长
- springboot-dokcer
- MySql社区版和企业版的区别