Nano Hash - криптовалюты, майнинг, программирование

Заставить веб-сканер загружать несколько веб-страниц локально

Я хотел бы, чтобы мой веб-сканер загружал все просматриваемые URL-адреса локально. В данный момент он загружает каждый сайт, на который он приходит, но затем перезаписывает локальный файл на каждом посещенном веб-сайте. Поисковый робот начинает с www.bbc.co.uk, загружает этот файл, а затем, когда находит другой, перезаписывает этот файл следующим URL-адресом. Как я могу загрузить их в отдельные файлы, чтобы в конце у меня была коллекция? У меня есть этот код ниже, но я не знаю, куда идти отсюда. Будем признательны любому совету. URL-адрес в квадратных скобках (URL) — это строка, которая используется для управления всеми просматриваемыми веб-страницами.

         URL url = new URL(URL);
             BufferedWriter writer;
                 try (BufferedReader reader = new BufferedReader
                    (new InputStreamReader(url.openStream()))) {
                            writer = new BufferedWriter
                          (new FileWriter("c:/temp/data.html", true));
                            String line;
                            while ((line = reader.readLine()) != null) {
                                //System.out.println(line);
                            writer.write(line);
                            writer.newLine();
                            }        
                        }
                             writer.close();
14.04.2015

  • Дайте файлам уникальное имя, например: "c:/temp/data"+String.valueOf(System.currentTimeMillis())+".html" 14.04.2015
  • Будет ли это означать, что все загруженные файлы будут сохранены только со значением текущего времени? Все, что мне нужно, это коллекция любых веб-страниц, которые он посещает, они сохраняются по отдельности. Думал, что я так близко, но так далеко, ха-ха :) 14.04.2015
  • Это сработало! Есть ли способ отметить ваш ответ как правильный? На самом деле не очень часто использовал стейковерфлоу. Большое спасибо 14.04.2015
  • Я рад слышать, что это работает, нет необходимости использовать System.currentTimeMillis(), вы можете использовать любое уникальное значение. Я разместил свое решение в качестве комментария, вы не можете принять его как ответ. Ответ @DavideLorenzoMARINO имеет ту же идею, вместо этого вы можете принять его. 14.04.2015
  • Я пытался добавить свой строковый URL-адрес в качестве имени файла, но это выдало эту ошибку. Большое спасибо, хотя :) 14.04.2015
  • java.io.FileNotFoundException: c:\temp\http:\www.bbc.co.uk.html (неверный синтаксис имени файла, имени каталога или метки тома) Это потому, что http:\ думает, что это новый папка? 14.04.2015
  • Да, также : не является допустимым символом имени файла в Windows, и есть еще пара символов, которые вы не можете использовать в имени папки/файла. 14.04.2015
  • Да, я немного знал об этом ;) ха-ха, но постараюсь еще немного манипулировать этим. Большое спасибо за твою помощь. Очень признателен 14.04.2015
  • Есть ли способ использовать URL-адрес веб-страницы в качестве имени? 14.04.2015
  • Вы можете сделать что-то вроде этого URL.replaceAll("[^a-zA-Z0-9]", " "), это заменит все небуквенно-цифровые символы пробелом. 14.04.2015
  • Вы, сэр, гений... Большое вам спасибо!!!!! :Д :Д :Д 14.04.2015

Ответы:


1

Вам нужно дать своим файлам уникальное имя.

Вы можете сохранять их в разных папках (одна корневая директория для каждого веб-сайта).

Или вы можете дать им уникальное имя (например, с помощью счетчика).

14.04.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..