From 0af1f19ae252358f9051aac7cc1e793688a43a57 Mon Sep 17 00:00:00 2001 From: anna1795 Date: Thu, 30 Nov 2023 11:18:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9B=E5=B7=B2?= =?UTF-8?q?=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cj/reptile/App.java | 126 +++++++++++++++++++--------- target/classes/cj/reptile/App.class | Bin 4461 -> 5159 bytes 2 files changed, 86 insertions(+), 40 deletions(-) diff --git a/src/main/java/cj/reptile/App.java b/src/main/java/cj/reptile/App.java index 7f85aa5..95e07ae 100644 --- a/src/main/java/cj/reptile/App.java +++ b/src/main/java/cj/reptile/App.java @@ -52,32 +52,20 @@ public class App { return filename; } - public static void main(String[] args) throws IOException, URISyntaxException { - /* - * String folderPath = "D:\\db"; File folder = new File(folderPath); - * - * if (!folder.exists()) { if (folder.mkdirs()) { - * System.out.println("文件夹创建成功!"); } else { System.out.println("文件夹创建失败!"); } } - * else { System.out.println("文件夹已存在!"); } - */ - - /* - * if(src != null) { InputStream inputStream = getFileInputStream("https:"+src); - * ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); int ch;while - * ((ch = inputStream.read()) != -1) { bytestream.write(ch); } String fileName = - * BaseInfoS.getFileName(bytestream.toByteArray(), - * src.substring(src.lastIndexOf("/") + 1)); // bytestream.toByteArray() - * inputStream.close(); bytestream.close(); - * System.out.println("fileName:"+fileName); brand.put("brand_logo", fileName); - * } - */ - + public static void main(String[] args){ + String letter = ""; for (int a = 0; a < 26; a++) { char chr = (char) ((int) 'A' + a); letter = chr + ""; Connection connect = Jsoup.connect("https://www.autohome.com.cn/grade/carhtml/" + letter + ".html"); - Document document = connect.get(); + Document document=null; + try { + document = connect.get(); + } catch (IOException e) { + // TODO Auto-generated catch block + continue; + } String sp = ""; Elements els = document.select("dl"); for (int i = 0; i < els.size(); i++) { @@ -102,26 +90,84 @@ public class App { File folder = new File(path); - - - // folder.mkdirs(); - // atk_5998 Connection href = Jsoup.connect("https:" + s.attr("href")); - Document documentt = href.get(); + Document documentt = null; + try { + documentt = href.get(); + } catch (IOException e1) { + // TODO Auto-generated catch block + continue; + } Elements ee = documentt.select(".pic-main a"); - String imgsrc = ee.select("img").attr("src"); -// Element ee = e.getElementById("atk_"+pp(s.attr("href"))); -// path += "\\"; - if (imgsrc != null && imgsrc.length() > 0) { - String url="https:" +imgsrc; - - String savePath=path; - String filename=pai+f; - folder.mkdirs(); - download(url,savePath,filename.hashCode()+".jpg"); + if(ee.attr("href")!=null&&ee.attr("href").length()>0){ + Connection hrefcx= Jsoup.connect("https:" + ee.attr("href")); + Document documentcx = null; + try { + documentcx = hrefcx.get(); + } catch (IOException e1) { + // TODO Auto-generated catch block + continue; + //e1.printStackTrace(); + } + Elements cxpage = documentcx.select("#vrlist li"); + if(cxpage.size()!=0) { + Element firstcx = cxpage.get(0); + String ff = firstcx.select("a").attr("href"); + if(ff!=null&&ff.length()>0) { + Connection hrefvr= Jsoup.connect(ff); + Document documentvr = null; + try { + documentvr = hrefvr.get(); + } catch (IOException e1) { + // TODO Auto-generated catch block + continue; + } + Element imgsli = documentvr.select("script").get(3); + if(imgsli.html()!=null&&imgsli.html().length()>0) { + String val=imgsli.html().split("\"Url\":\"")[1]; + + String arr = val.split(".png")[0]; + String imgurl="https://panovr.autoimg.cn/pano/"+arr+".png"; + String savePath=path; + String filename=pai+f; + folder.mkdirs(); + try { + download(imgurl,savePath,filename.hashCode()+".png"); + } catch (IOException e1) { + continue; + // TODO Auto-generated catch block + // e1.printStackTrace(); + } + System.out.println(imgurl); + } + + } + + } + + + }; - } + + + + +// String imgsrc = ee.select("img").attr("src"); +// if (imgsrc != null && imgsrc.length() > 0) { +// String url="https:" +imgsrc; +// +// String savePath=path; +// String filename=pai+f; +// folder.mkdirs(); +// try { +// download(url,savePath,filename.hashCode()+".jpg"); +// } catch (IOException e1) { +// // TODO Auto-generated catch block +// e1.printStackTrace(); +// } +// +// } //System.out.println(imgsrc); @@ -131,14 +177,14 @@ public class App { } public static void download(String urlString, String savePath, String filename) throws IOException { - System.out.println(urlString); - System.out.println(savePath+filename); +// System.out.println(urlString); +// System.out.println(savePath+filename); // 构造URL URL url = new URL(urlString); // 打开连接 URLConnection con = url.openConnection(); // 设置请求超时为20s - con.setConnectTimeout(20 * 1000); + con.setConnectTimeout(200 * 1000); // 文件路径不存在 则创建 File sf = new File(savePath); if (!sf.exists()) { diff --git a/target/classes/cj/reptile/App.class b/target/classes/cj/reptile/App.class index adf6b8c03220efa9d9e7f8278fd2ff6d41e0cdb7..3e00dbc553ad3cd39b55d8dd1e9b88189b78f5f9 100644 GIT binary patch delta 2887 zcmZuzeSA~Z8Ghb-liZv1_JcJ2xcv-8p$ut76nhep60ZgIV0f#Ef3YyH7a+PhKhGxt+?~|{|X+(<#D{dncnRArF zvWZI^Xv6{yx8quZ8V}zYj|M^=Di)gOl7HL?FB?Ox%67h$8gvr8h+w)E{EGv^{ zs#r#_)^*0agAOdmN(Czj`Qd0seOD~p6RDpsS`DAYU1q{Eqh=LWEAS9pS1lUCp^)Dj z4}?P+yzrSLmI-6p36hTiJJF>eKqxiOTS~1O)*xt(x6ZPK5K#~|1J)|pi?wFIwJaGU zlw1W3g?;{5ePhty?GMFO^l)mvxZ4*lgL-`IfnR*vC_ACrHY3M#B4l5 z(7HScPkkU<-xLV?9q31kibvV9Gaiq`3>A+tcxTk#E&@xcFbO$zk$`t{wWFu8aJ3VgRXj;>j7vm=fmqz#77U1JcWQV_SXyF%^?nt*I0%o5ud-{* z8x2I_VvnzB_x0n@6e8At)Z!@G`z*PF3crcD#b43XYhss73NI zeAhgqy6xY?YYL7N3e7jw!deX{M1?C6F6DSIq~H{&@w^KRJaf($7{lp_I3mnfHagJ)*kAz~=3Zcsh7lY3Ix`Q&Kw@amG3k z{U2*FurW=sAeXhA@C3Q_L`NrkqC8Y%o`nB)kC55%-$-j>3jT4WltTV^{o;i!4t#)2 zb3wzu@R8YIuPcxt=icnV$GEKE5~0{U;wa{G^9jLx++JDUPm)G*Mg)H^mko>XFykxIj+)p_gX`)7y4u4$4;vkjxqI?>oPyrv`D^xA$iAQ?kd}sJQ-5NQm zkPByBG!Pe5)ULRtxtZ@5DxwmFip{X2R4ygm>~~aJWKQ+qK8H<8vLRr-p6{e_fE0C( zZ;@xEr1pY26|1(-9!6tZ2lb zcyvFH3{9Svo1&w-R+KyHm8a*W@qm%9JBHB5Zu#PqpNZ=sj!Solz_xIs=Vzlc3Wm|& zrWXw2^TwEr-Bw|j=lnt%+t?&Int_vyLfx6opipGsN>P(u=-e)%cj+!+zv(zl9qpy@ z#a%T1DqeOyyQLtch>T*rC<|9C;7U@spcgxz5O5`WNg6wz#M^p_%=>5PDAh}yUl9z5 zeGFaKkK=@{i*0a3*9Bx58RdFe7P4GGR-~{`FL&-{NZTk%g`DVN~XS&Y4 zY3#S$U{var&Tnv6zQL%W+D%t zMkUWp$84UtnX%?z9=ErO*OhUXVJ`0CnJ&KD5}1!Z+=i`aMbhNu-B^hIScGT!seKVk zFoKmh$L1GsH!kvXDPuLCKOg0wom}XkN$8{|eixguh87}7OA(^wSW8|+X$@kOK%Dyc z(c6XuJ%M$!6Zg8@Kn_4#FhLwvypHcP3$hf(4=|ChX{!{(F1*1U}tkaa@H=vW(wzTrP5vfwvgiMNK^WHpgGY6=B66*shpe zvvws+`JeF)+m$fsXYohgxRj|sg+K9jI+LH~^%0b@1PAdh`FnlVLOuVu}cLj zu@-+}mr9nS9e?Fs6^qh}zj3dcrJ0ZSx#wnqZp1Cz8!I)8!qhM~{4_GAhy@r% zF^A~JVbt>LU5BH%3CGZeSFsAO@xQ(k=;rTwt|zW8L^ACLD&s`OZ$l<|%Jf9?5~D_` zoGNgK%-}()q$_wOlK9tb=8= LM>L+{C7SRby|KC* delta 2201 zcmZ8i33OED75?tLnR#zsUNXs$A$dYHrHTnl#vT+7&m#vFV-qGo2%wROJThZuLNYVX zylkKjhNuW)ga=xPOR=_5yI7>YMB~0-Yi(Uxao?BP7Tj8Q4c>po?U@2TKXT?Nq9-P*IO% z8kXZ2f?_3`taLolrr->Frxa4^(X8Ptth67KPOLhc;HimOogFI9fhl7(!JkaGh1xU8 zu2iUAtQyv!)egDmdZTEQajurxDHd$ar4qO}B9gpE6ql##ISbyr9!oM*q{KFOCs zmkf)bZ};ex8e-^XcvW@P;arFvW}+>$cujk>)jCl|uf57MIlGS0My$$6yt~p=(SxLl z3@*@cp@_q6MSCp;8wg(3iFa~5{RAnKZWUSs8ZL&PwM@%OE4Y*(M^zo^o-2S2 zDEI}Tpe7Y>o!M!|6P2cd-3*3N2{4R%7OvHB9j<2w9nnOa7315g>N;_;N7U^G!qloC zWx_sIE~%<6raoZ%&sUX zpNlW>CDXen9k)0zxoYJpb#>L;8{;hC@DH0Xk?OLzNup+_Mno<TGb zV=r8&#n0Ia(hTl19iS@$Q^V3p!_;4V^5oUq=Z&GhxndOI5iD`g6c%D&1q;(1oEd20 zg-=JZ%5dxMI}jllp1@SYt9t_N4mu23nyn1eG+hoV4$}9b$MEUCK%bMvdI#qlDhpW$ z>jM`#*k}~6bO}p_Ce1D!#yh$eEd0i*NH21*$?)syC@y0&zxeobV74$AT@`4y@}m3m zkc{Fn3^wb zJ?P+?>#*#5M|>b$7!&nkqf8tNWWN+od<&plFLCgzGxUji{=VG7Z$@!5s|0?>@#g{j zVW5zLg}Ub8wmpYS2NVh_x-5k8rv_X!x%h}Z;}`DbLb;&wx*1b=T?h$bC}=FA;v=%M4#OSR~uFxF8!&Y~VP(E!4<6&q2&P`=DF2DiguNun(nK{Yq3 zhc;mpcQEWC>c*WIW5{!;fnU4}Zp^0zS=^0#m~abdKJH}`FB)hL?!)~|#U*q+9$;ey z=TJEw#6$35EyH@4^;C{$oa3qH=ldD*ezp(;@Mr~hkD&zFgFJh8GMWH8>B8R_%mjAafxolEQhsa|n^z;qS(t|>csG%AVX%X0 zlyOFm#woljXJ9;!I7-n=ZjQTFbP|~ym?+oKZFp*$gJ=087&1LikQstGSv2v*7+z|g zHiB0c&2;dp=%A8Cl@8t%%$+WX>(M<9{<9lC@ntHx9UL;eWB8ys$2dOxU*2bq`Z>pF z8o|egT;j%EilGdnP?vQ@3i=#;qI-32!mpZV`>r{hJ@`GV=5daIOBnj4I0~1c3R_Tv zt(eU}74vZ=kB4o{Gn@IegR_4XHgFa