Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 32261|Отговор: 11

[JavaSE] Краулърът, който току-що е написан на Java, сега има възможност само за изтегляне на изображения (дълбочина 1) и ще продължи...

[Копирай линк]
Публикувано в 3.06.2015 г. 2:38:12 ч. | | | |
Както подсказва заглавието

crawler.rar (62.53 KB, Брой изтегляния: 5, Цена за продажба: 2 Grain MB)




Предишен:Знаете ли какви уеб контейнери asp.net? С изключение на IIS
Следващ:Дедупликатиране на данните и връщане на колекцията
Публикувано в 3.06.2015 г. 21:05:36 ч. |
Проста имплементация, която не зависи от други пакети

  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. }
Копирай код
Публикувано в 4.06.2015 г. 19:19:48 ч. |
Delver_Si Публикувано на 2015-6-3 23:57
Първоначалната ви ефективност при разработка на код е твърде ниска, лош отзив

Не исках да казвам нищо, но ти каза, че разработката е неефективна。。。。。

Програмата изисква качеството и производителността на кода, а в крайна сметка има малко функции, слаба възможност за разширяване и слаба производителност


Пусни 10 пъти подред, игнорирай латентността в мрежата всеки път, игнорирай локалните запазвания и изчислявай само времето за парсиране на html документи – програмата ти е далеч от това.
Също така, има грешки в кода ти, така че няма да казвам нищо

Публикувано в 3.06.2015 г. 13:00:52 ч. |
Delver_Si Публикувано на 2015-6-3 12:57
Как е изследването?

Не инсталирах Eclipse и го разгледах в бележник, първо взех HTML изходния код на уеб страницата, после получих стойността след src и го запазих   

Не знам дали е правилно  
Публикувано в 3.06.2015 г. 7:49:23 ч. |
Могат ли изображения във формат PNG да се изтеглят?
 Хазяин| Публикувано в 3.06.2015 г. 10:17:34 ч. |
Малък летящ нож, летящ нож, публикувано на 2015-6-3 07:49
Могат ли изображения във формат PNG да се изтеглят?

Да, все още не съм преценил суфикса, всички са запазени като jpg, всъщност png изображението може да се отвори с jpg суфикс и ще подобря суфикса
Публикувано в 3.06.2015 г. 12:52:13 ч. |
Нека проуча изследванията
 Хазяин| Публикувано в 3.06.2015 г. 12:57:13 ч. |
Малка шлака Публикувано на 2015-6-3 12:52
Нека проуча изследванията

Как е изследването?
 Хазяин| Публикувано в 3.06.2015 г. 13:05:27 ч. |
Xiao Zhazha Публикувано на 2015-6-3 13:00
Не инсталирах eclipse и го разгледах в бележник, първо взех HTML изходния код на уеб страницата, после взех стойността след src и после запазих грубия ...

Това е вярно
Публикувано в 3.06.2015 г. 21:12:09 ч. |
microxdd публикувано на 2015-6-3 21:05
Проста имплементация, която не зависи от други пакети

Това е ритъмът, който ме кара да инсталирам myeclipse!
 Хазяин| Публикувано в 3.06.2015 г. 23:57:27 ч. |
microxdd публикувано на 2015-6-3 21:05
Проста имплементация, която не зависи от други пакети

Първоначалната ви ефективност при разработка на код е твърде ниска, лош отзив
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com