Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 32261|Ответ: 11

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

[Скопировать ссылку]
Опубликовано 03.06.2015 2:38:12 | | | |
Как следует из названия

crawler.rar (62.53 KB, Количество скачиваний: 5, Цена продажи: 2 Grain MB)




Предыдущий:Знаете ли вы, какие веб-контейнеры у asp.net? Кроме IIS
Следующий:Дедупликация данных и возврат коллекции
Опубликовано 03.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. }
Копирование кода
Опубликовано 04.06.2015 19:19:48 |
Delver_Si Опубликовано 2015-6-3 23:57
Эффективность вашей оригинальной разработки кода слишком низкая, плохой отзыв

Я не хотел ничего говорить, но вы сказали, что разработка неэффективна。。。。。

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


Запускайте 10 раз подряд, игнорируйте задержку в сети каждый раз, игнорируйте локальные сохранения и рассчитывайте только время для разбора html-документов — ваша программа далеко не такова.
Кроме того, в вашем коде есть ошибки, так что я ничего не скажу

Опубликовано 03.06.2015 13:00:52 |
Delver_Si Опубликовано 2015-6-3 12:57
Как проходит учеба?

Я не устанавливал eclipse, посмотрел его в блокноте, сначала взял исходный код веб-страницы в HTML, потом получил значение после src и сохранил его   

Не знаю, правильно ли это  
Опубликовано 03.06.2015 7:49:23 |
Можно ли получить изображения в формате PNG?
 Хозяин| Опубликовано 03.06.2015 10:17:34 |

Да, я пока не оценивал суффикс, все они сохранены в формате jpg, на самом деле png-изображение можно открыть суффиксом jpg, и я исправлю суффикс
Опубликовано 03.06.2015 12:52:13 |
Позвольте мне изучить исследование
 Хозяин| Опубликовано 03.06.2015 12:57:13 |
Маленький шлак Опубликовано 2015-6-3 12:52
Позвольте мне изучить исследование

Как проходит учеба?
 Хозяин| Опубликовано 03.06.2015 13:05:27 |
Сяо Чжажа Опубликовано 2015-6-3 13:00
Я не устанавливал eclipse и смотрел его в блокноте, сначала взял исходный код веб-страницы, потом получил значение после src и сохранил черновой ...

Это правда
Опубликовано 03.06.2015 21:12:09 |
microxdd опубликовано 2015-6-3 21:05
Простая реализация, не зависящая от других пакетов

Это ритм, который заставляет меня установить myeclipse!
 Хозяин| Опубликовано 03.06.2015 23:57:27 |
microxdd опубликовано 2015-6-3 21:05
Простая реализация, не зависящая от других пакетов

Эффективность вашей оригинальной разработки кода слишком низкая, плохой отзыв
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com