From 5188bab2af08908cc549931b256446f3c3c19d88 Mon Sep 17 00:00:00 2001 From: anna1795 Date: Thu, 4 Jan 2024 13:45:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=93=81=E7=89=8Clogo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 13 +++ .project | 11 +++ .settings/org.eclipse.jdt.core.prefs | 6 +- src/main/java/cj/reptile/Brand.java | 85 ++++++++++++++++++ .../maven/cj/cj-reptile/pom.properties | 2 +- target/classes/cj/reptile/App.class | Bin 5159 -> 5762 bytes target/classes/cj/reptile/Brand.class | Bin 0 -> 3816 bytes target/test-classes/cj/reptile/AppTest.class | Bin 607 -> 607 bytes 8 files changed, 113 insertions(+), 4 deletions(-) create mode 100644 src/main/java/cj/reptile/Brand.java create mode 100644 target/classes/cj/reptile/Brand.class diff --git a/.classpath b/.classpath index a460cc8..d94d5c6 100644 --- a/.classpath +++ b/.classpath @@ -27,6 +27,19 @@ + + + + + + + + + + + + + diff --git a/.project b/.project index 0e706b6..e4c7b98 100644 --- a/.project +++ b/.project @@ -20,4 +20,15 @@ org.eclipse.jdt.core.javanature org.eclipse.m2e.core.maven2Nature + + + 1701761340333 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index ac8e750..1b6e1ef 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,9 +1,9 @@ eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.processAnnotations=disabled org.eclipse.jdt.core.compiler.release=disabled -org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/src/main/java/cj/reptile/Brand.java b/src/main/java/cj/reptile/Brand.java new file mode 100644 index 0000000..5fadc75 --- /dev/null +++ b/src/main/java/cj/reptile/Brand.java @@ -0,0 +1,85 @@ +package cj.reptile; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URL; +import java.net.URLConnection; + +import org.jsoup.Connection; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; + +public class Brand { + public static String urlName(String filename) { + filename = filename.replaceAll(":", ""); + filename = filename.replaceAll("\\*", ""); + filename = filename.replaceAll("\\?", ""); + filename = filename.replaceAll("<", ""); + filename = filename.replaceAll(">", ""); + filename = filename.replaceAll("|", ""); + return filename; + } + public static void download(String urlString, String savePath, String filename) throws IOException { +// System.out.println(urlString); +// System.out.println(savePath+filename); + // 构造URL + URL url = new URL(urlString); + // 打开连接 + URLConnection con = url.openConnection(); + // 设置请求超时为20s + con.setConnectTimeout(200 * 1000); + // 文件路径不存在 则创建 + File sf = new File(savePath); + if (!sf.exists()) { + sf.mkdirs(); + } + InputStream in = con.getInputStream(); + OutputStream out = new FileOutputStream(sf.getPath() + "\\" + filename); + // 创建缓冲区 + byte[] buff = new byte[1024]; + int n; + // 开始读取 + while ((n = in.read(buff)) >= 0) { + out.write(buff, 0, n); + } + + } + + public static void main(String[] args) throws IOException { + 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(); + + Elements els = document.select("dl"); + for (int i = 0; i < els.size(); i++) { + Element e = els.get(i); + String src = e.select("dt a img").attr("src"); + String imgurl = "https:" + src; + System.out.println(imgurl); + String pai = e.select("dt div a").text(); + String path = "D:\\blogo\\" + pai; + File folder = new File(imgurl); + + String name = pai; + Long id = (long) name.hashCode(); + id += Integer.MAX_VALUE; + + + String newName = id+".png"; + folder.mkdirs(); + download(imgurl,path,newName); + + } + } + + } +} diff --git a/target/classes/META-INF/maven/cj/cj-reptile/pom.properties b/target/classes/META-INF/maven/cj/cj-reptile/pom.properties index fced898..999be17 100644 --- a/target/classes/META-INF/maven/cj/cj-reptile/pom.properties +++ b/target/classes/META-INF/maven/cj/cj-reptile/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Wed Nov 29 14:44:11 CST 2023 +#Tue Jan 02 16:45:53 CST 2024 m2e.projectLocation=D\:\\code\\reptile m2e.projectName=cj-reptile groupId=cj diff --git a/target/classes/cj/reptile/App.class b/target/classes/cj/reptile/App.class index 3e00dbc553ad3cd39b55d8dd1e9b88189b78f5f9..2c0888916fec9d910f4cf7f2fd37be7de3b59586 100644 GIT binary patch delta 3053 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 delta 2488 zcmYLLYhV=B75>ib?9S|Dk}Q*KlA8zF1jGQ6@D>JvB9ac>T3M1M*|^!n-ASON zu$87S6st@h3KmN%uG&_Mw38r|qHR;bR%>7OfqiRjwN*=7)Czj;Zc_5&-gD=k^PTUU z``x?QH6z<#oWAh*2>`RG;jpnxY0~;riB-{_n9g57wt+dAr(rH3)Eym&HYK9T&Zg^} zR6N;fVm>Z+cPlGv7ZQ|>({wD7^HLp)Ir0h}OLy%{a09{L z*yZ#j4BUu~8a5D$dsCfF-Ra)`zNVFOH1Q#P*j=hF3~a(?4N-TeDtzteaQCT~7Hwg+ z9UR<+ZVhqwS+&M@GZOA=>f&G$eHwZR!VURF#6&x8VSWuQQ(G@KVfE(jSi7@GL)uOH zt26yfx5J5a#0Mf#11WSHNMf6bkH|t)C$`PeF-QooPrRp7#}0xooobg}8518vF?&TF zC#7Q-LF?#-ZESTxDg{@&D{JCGJmek?%q{pD12y&~xgXzf-waIF=ipH(jc>Y>wdpf=<1rIQ zP{+_cH+RHSX&L-&6Q0bkcSX}(%X>Sx+&LJLK}X$;RvkEI;yAwJ9@JU_-^CLePP(sa zVc(PZo~!GTzz^_44Wn+OUJ-gqYEJ88B|C|vhSNvZ>5ot&*Slg{d#uli_a@UC{+(+s z_cj@Gn%1sqHEN!m=|~l7c`uA`;1Bz?-JZQjGC(5q?qK(QIBoo<}vkm z$Zt}BGWjOxZxKGv-_yb-E1FIWHB{1dT%O z%mT5%q7v5s)>Pbyv0KB2D_dHot}`f1#l!KLp$1V+&X?&6;UV@i6q!yY%T7&n%T8}G{*?qK19%$1nR z06{FrRe4bVOupii03~HjY4t76DqBL!syFRjattflYDVz>VO-;3RjXWDALPY!57$}i zdEl=jXtPza{X#v8n+Uc)3*8Q6m54RP4hX*$^U!H)zWI7q@d+)gd&u;hM9L0|pyhZN z@UYc3*xt^z^-&Ky?E+ri$}8LS%`eQ-6T%D^ddLM8i6Rdlw~K`_f*}qomQ!(#*C&~m zFeI^0^B{`z?Cj7n>~0gGVcc#{$ocIV&ah*V^;r*hU97+&yF^&|3QA-JrCDkgCDvZa zzEqS-_no6OXUy{OxdSw143FXR`xoKDWS5C>9Bu5-)wtgj{etW+a@w|>*2AE)rycEk$bYqkI3!uUe<{T z9uBV;wIaV?=iyr;7-pC8;1N77snusu@EA^rS`XhJDx`3sFuCA^7Zwfa6xNprO|H(r zHKb5=sPf?XeTP|oHp{UYr|>rUD1cMcLThL(&->|q%Hos~QI;sncwae^2n8wgG=9Vy z_9?yiF{_!cnv%c)JOc$q%8hsyKjCX~xiX7?V4i~tTWQ2k@iR_yHGls(et`g1D+0gd z*Z^)&LU!gCqvKR42PKfc0Y|5 zIHVBw(WCeshZNxfdJw;7$6`E3JMag#LO4Sy{1Jb`1e~MwxRYsFTzyv&Z}G{EEEIB^9H;WYlv=>*-) z&+sc8TuJ-+jeeDbtLUMz;A%RKz4!-5RMQK%1^?uT8hRO9@ETha6<`%!XRB6Gu@Y~v z6;UcN7xLYxQ_4jd!BEvG)-91~#fMqief=P(u8+5~knj_bCb zMWN7y?h6M!DiQ&qdsNysKX~uEuO8<7ihFywC0)s+<=B?{FsMkiclTPqm3(llIpp(P29vuG@0em4udY?Qx9S*)G>=_3ZpA@ F>3b&7RCfRX diff --git a/target/classes/cj/reptile/Brand.class b/target/classes/cj/reptile/Brand.class new file mode 100644 index 0000000000000000000000000000000000000000..55eb64aec7486ee4fb9ccfb529c5a701d7bf4ad5 GIT binary patch literal 3816 zcma)8dwf$@9siyr&ACZ$X$cg#JhrmQYzrh)pg_tBw16v=hXXo0P`OQS(+f#%Ol~MI zoe%c#HRp75PShbfd`uiT({5~YPMtd6@A-DVAJgq`_u1ZOMt1F#&=OZWtu68mF0E9=@RE7qMeGeZ&q&h9r4nz59bNyfGh?za-IKyZzn zvE42Ke`{O6K%mDNvcm8qq@xZ&fyO>NV{I#>2d&&Lb1-EIMEabBnd&!lw)!ql2HX)l zuhu5}?G%uOTxy${rs`F#eboqdx;Z}f~Ag^LL^PvO0-UrD@5$E&eSV49P)GCfWvLn6?Tz}(g{E@gAowN5|$4eP?_z$%HA z0<&tpR>gFzMqFTe-g3*6yX>^(6v(qcYj0b>#F|RPOl1?145JfK^;oN89oCbN)*(CZ zl1k*`4QioB#|Cd9ePGDW>!cpZ-?oQ2+XWFs!`}vOubIWPVA!S zK{HjbwhvF@d}-HB#rZI{AgbYdvTUy!59qi7dx(dbWtGULrBl`O67rOzW-MFqdL3_2 zVQa2aN-2z91-6NV#2}NX08$Hvjv;WT){W+Dmv7m+r@NPx3nK|zf~i-TSOr+eejH$p zSp`N~N1e7_fe`n7$uVQdn+L5Dc79H?cBRnEOkIMc2!?fw!(@oTAMlk4xovxWUu+_|ZjZNY(#nPs7GOKk@ z$xv<06*A3uo2vTT)t>8_va=i)XdiLiY(5@~jgF2+&4TNUIB6@IaMIC4CYH>ZLsl$d z=0@CfDyHFPf*4ifFmA=WB;LtB?BtTM{duR5jcry>9q-0_SRbOM_Aebw$&ad54VLw| z4Yy0Yj}(|{UB~-z2f-uT1?H3KRiO+|hkR^%^uW6DyV@+9;Ld`#k_0!G!vBq0^}$5j=2YpYP+a}p=H%d5Jj zRLb@>oKmgZZ82NybTW*4akqy1h(SJ=P@X@n<1=U^6-?L7Y4{uyDb+KC&*KXcXD&XS z4(DAft>YjbsO9Dko_FO|#dOZ$L5VNc?5CP#9bZx{TxOL&9FXM44jhOinb)++u*0$a-p1{{6zRG=6ZFhZ6 zCaL)Qb;i=VxfVIK!bqRMH*|ax-=dQgXZlrV^XzS|CBI^P^D2e9_AzK@Iq>mX1#cOcj(U#uk^tWg{0drz3~!9f=>a^V#kJFD zFr=aRn?ptHGlGUz#PC2z=)}ac3PisbM2831W2ty0@a8`k^0-NBX zz(Nk-3bvb3!n2RC9>QU0^cJS4qqH$ft-y>ZRZBA+PYlaWsqaXKFI zY<-rt3>HNdEFM0G`;BlBXDL{uU=ic-dQa@U600wZ>53OdSP`SasE1V zywPYZ;>nqK%JjaJ>KMMGCchi`L0P-WXz(}`HguzD96vfPMYA-5Mf~LC#O~uhF~4c< z$%(ouEe6SHkkx*yWGPm0Kdr_B-X&LJ4KKP~yos&lrE(ohxgIvUaSS~;&YSM-*oads z>lt2g&*54;O381d56@sL{)%mQo_a6x3La#~R{Qq;68!i%o>r6;0sO+FP@NF?C5!K) z=jZS%{Mw7;N!}WM!;-C|-QVJOq);y&#P4Z6NFQhM2Wm*hbSM6ZKQV3_x8Oe73o$+y zf95F62>0PH9Mv;U71JX2j5EyOZ=_@cWA4J=IX8_Smf;`xCyDzE|Ic!+iB`bbz>Cnx mHZj3GIrx_v3yIq#?vgk`zP*4`6SV3tuTe?h-+cP;+