Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 32261|Răspunde: 11

[JavaSE] Crawler-ul scris în Java are acum doar capacitatea de a descărca imagini (adâncime 1) și va continua...

[Copiază linkul]
Postat pe 03.06.2015 02:38:12 | | | |
Așa cum sugerează titlul

crawler.rar (62.53 KB, Numărul de descărcări: 5, Prețul de vânzare: 2 Grain MB)




Precedent:Știi ce containere web asp.net avea? Cu excepția IIS
Următor:deduplicarea datelor și returnarea colecției
Postat pe 03.06.2015 21:05:36 |
Implementare simplă care nu depinde de alte pachete

  1. package test;

  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. import java.util.regex.Matcher;
  8. import java.util.regex.Pattern;

  9. import javax.imageio.ImageIO;

  10. public class Test {
  11.         public static void main(String[] args) {
  12.                 String web="http://www.itsvse.com/";
  13.                 try {
  14.                         URL url=new URL(web);
  15.                         InputStreamReader reader=new InputStreamReader(url.openStream());
  16.                        
  17.                         StringBuilder builder=new StringBuilder();
  18.                         char[] buff=new char[1024];
  19.                         int n;
  20.                         while((n=reader.read(buff))!=-1){
  21.                                 builder.append(buff,0,n);
  22.                         }
  23.                        
  24.                         Pattern pattern=Pattern.compile("<img.*?src="(.*?)(gif|png|jpg)"");
  25.                        
  26.                         Matcher m=pattern.matcher(builder);
  27.                         while (m.find()) {
  28.                                 String u=m.group(1)+m.group(2);
  29.                                 System.out.println("dowing.."+u);
  30.                                 URL img=null;
  31.                                 if(u.startsWith("http")){
  32.                                         img=new URL(u);
  33.                                 }else{
  34.                                         img=new URL(url,u);
  35.                                 }
  36.                                 ImageIO.write(ImageIO.read(img), m.group(2), new File("D:/img/"+System.currentTimeMillis()+"."+m.group(2)));
  37.                                
  38.                         }
  39.                        
  40.                 } catch (MalformedURLException e) {
  41.                         // TODO Auto-generated catch block
  42.                         e.printStackTrace();
  43.                 } catch (IOException e) {
  44.                         // TODO Auto-generated catch block
  45.                         e.printStackTrace();
  46.                 }
  47.         }
  48. }
Cod de copiere
Postat pe 04.06.2015 19:19:48 |
Delver_Si Postat la 2015-6-3 23:57
Eficiența ta inițială în dezvoltarea codului este prea scăzută, recenzie proastă

Nu am vrut să spun nimic, dar ai spus că dezvoltarea este ineficientă。。。。。

Programul necesită calitatea și performanța codului și, în final, are puține funcții, o capacitate slabă de extindere și performanțe slabe


Rulează de 10 ori la rând, ignoră latența rețelei de fiecare dată, ignoră salvările locale și calculează doar timpul pentru a analiza documentele html, programul tău este departe de asta.
De asemenea, există erori în codul tău, așa că nu voi spune nimic

Postat pe 03.06.2015 13:00:52 |

Nu am instalat eclipse și m-am uitat la el într-un carnețel, am luat mai întâi codul sursă HTML al paginii web, apoi am obținut valoarea după src și apoi am salvat-o   

Nu știu dacă e corect  
Postat pe 03.06.2015 07:49:23 |
Pot fi preluate imagini în format PNG?
 Proprietarul| Postat pe 03.06.2015 10:17:34 |

Da, nu am judecat sufixul acum, toate sunt salvate ca jpg, de fapt, imaginea png poate fi deschisă cu sufixul jpg și voi îmbunătăți sufixul
Postat pe 03.06.2015 12:52:13 |
Lasă-mă să studiez cercetarea
 Proprietarul| Postat pe 03.06.2015 12:57:13 |
Small slag Postat la 2015-6-3 12:52
Lasă-mă să studiez cercetarea

Cum este studiul?
 Proprietarul| Postat pe 03.06.2015 13:05:27 |
Xiao Zhazha A postat la 2015-6-3 13:00
Nu am instalat Eclipse și m-am uitat la el într-un carnețel, mai întâi am luat codul sursă html al paginii web, apoi am luat valoarea după src, și apoi am salvat varianta brută ...

Asta este adevărat
Postat pe 03.06.2015 21:12:09 |
microxdd a postat la 2015-6-3 21:05
Implementare simplă care nu depinde de alte pachete

Acesta este ritmul care mă obligă să instalez myeclipse!
 Proprietarul| Postat pe 03.06.2015 23:57:27 |
microxdd a postat la 2015-6-3 21:05
Implementare simplă care nu depinde de alte pachete

Eficiența ta inițială în dezvoltarea codului este prea scăzută, recenzie proastă
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com