Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/56: Рейтинг темы: голосов - 56, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 29

Вытащить текст из html

05.07.2013, 12:26. Показов 11603. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Задача такая: есть множество файлов html. Из них нужно взять весь текст. Посоветовали делать с помощью javascript.
Изучаю язык все утро, понял, что скрипты встраиваются в страницы и могут выполняться. Но как просто запустить скрипт безо всякой страницы, считать файл и сделать что-нибудь типа document.parse() - не пойму. Подскажите, пожалуйста.

Или возможно, есть какие-то другие пути решения с помощью js?

Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.07.2013, 12:26
Ответы с готовыми решениями:

Вытащить данные из html файла, используя javascript
Здравствуйте, при разработке сайта столкнулся с одной проблемкой. У меня есть такой код, он очень длинный, форма опроса людей для более...

Вытащить текст из DIV и добавить к нему класс
Доброго времени уважаемые форумчане ! Подскажите как вытащить текст их div блока, задать ему какой нибудь класс, а потом опять...

Вытащить текст с html-кода
Здравствуйте! У меня есть объект $('.address p:first-child').html() и его вместимое: ...

7
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
05.07.2013, 13:09
будьте поконкретнее:
1) "множество файлов html" где находятся: в сети на серверах или на жёстком диске вашего компьютера?
2) "взять весь текст" - и что с ним дальше делать: сохранить на жёстком диске вашего компьютера в одном текстовом файле или в таком же "множестве" текстовых файлов? как их именовать, эти файлы? или вообще вам надо что-то другое?
0
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 29
05.07.2013, 13:30  [ТС]
html находятся у меня на жестком диске.

Программа-минимум - сохранить текст в файле (неважно, одном или множестве). Совершенно неважно, как именовать.
Программа-максимум - сохранить слова в едином файле вместе с их частотами.

Правда, сейчас мне сказали, что вроде бы в каждый html нужно будет дописать скрипт.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
05.07.2013, 13:49
Цитата Сообщение от antake Посмотреть сообщение
сейчас мне сказали, что вроде бы в каждый html нужно будет дописать скрипт
вас жестоко обманули

скрипт нужен всего в одном файле
в специальном, с расширением hta, который вам надо будет сохранить на своём компьютере в любом месте

единственное требование - чтобы ваше "множество файлов html" находилось в одной папке и чтобы у этих файлов было одно расширение (кстати, какое оно - htm или html?)

и ещё вопросы:
1) под "частотой" вы понимаете количество упоминаний слова в этих файлах?
2) вывод нужен в виде отсортированных слов по алфавиту или по "частоте"?
3) как я понимаю, регистр букв слов не важен, т.е. слова "Нога", "НОГА" и "нога" - это одно слово, упомянутое трижды, верно?
0
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 29
05.07.2013, 14:06  [ТС]
Расширение htm

1)Да
2)Лучше по алфавиту
3)Не важен

Меня все же в большей степени интересует, как же javascript запуститься не из html и какими способами может извлекаться текст. Постобработку я чем-нибудь другим в крайнем случае проведу.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
05.07.2013, 15:54
HTA даёт возможность открыть любой файл в ифрейме
и - самое главное - HTA даёт возможность получить программный доступ к этому файлу в ифрейме
а, имея программный доступ к файлу, вытащить из него что угодно не составляет проблемы

хотите вытащить текст в переменную?
нет проблем - var perem = document.body.innerText; - и в этой переменной perem вы получите текстовое содержимое тела документа

есть одно ограничение - для файлов, находящихся на серверах, можно указать в их заголовке запрет на открытие во фрейме/ифрейме X-Frame-Options: DENY и тогда этот способ не подойдёт (но имеются другие возможности)
для вас это не актуально, ибо ваши файлы находятся на жёстком диске

раз вы предполагаете, что самостоятельно справитесь со своей задачей, тогда лишь маленький пример:
-- сохраните нижевыложенный код под именем myfile.hta
-- запустите его из проводника Windows двойным кликом

и в текстовой области увидите текст этой самой страницы, которую вы сейчас читаете
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
iframe, textarea {width: 100%; height: 200px}
</style>
<script>
onload = function ()
{
with (document.all.myIFR)
   attachEvent ('onload', function ()
   {document.all.myTXA.value = frames.myIFR.document.body.innerText}),
   src = 'https://www.cyberforum.ru/javascript/thread918157.html';
}
</script>
</head>
<body style="text-align: center">
<iframe id="myIFR"></iframe>
<p>Íàâåðõó - HTML-ôàéë â &lt;IFRAME&gt;
<hr>Âíèçó - òåêñò ýòîé ñòðàíèöû â &lt;TEXTAREA&gt;
<p><textarea id="myTXA" readonly></textarea>
</body>
</html>
в зависимости от ваших настроек браузера MSIE система может выдать сообщение "о рисках", а может и не выдать
если выдаст, смело жмите на "Продолжить", ибо код перед вами - ничего "вредоносного" в нём, как видите, нет
------

в HTA-формате javascript может:
-- открыть стандартное окно обзора папок и предложить вам выбрать нужную (где находятся ваши HTML-файлы)
-- все файлы с расширением htm из этой папки по очереди вывести в ифрейм
-- текст каждого htm-файла разбить на слова и перевести их в один регистр
-- сосчитать количество упоминаний каждого слова во всех файлах
-- отсортировать по алфавиту (либо по частоте)
-- сохранить результат в виде текстового файла в той же папке
-- сразу же вывести итоговый текстовой файл в "Блокноте"
-- завершить работу, самостоятельно закрыв своё окно
1
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 29
05.07.2013, 18:42  [ТС]
Спасибо!
В понедельник теперь подумаю)
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
06.07.2013, 08:56
Во фрейм нужно добавить атрибут application="no/yes", иначе может не грузиться файл.
Толком не помню, всего один раз использовал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.07.2013, 08:56
Помогаю со студенческими работами здесь

Не могу вытащить текст с блока
Здравствуйте. Такая проблема: Есть виджет сообщества (группа), и я хочу при нажатии на кнопку вытащить текст с виджета (количество...

Вытащить текст с предыдущего столбца строки таблицы
Добрый день! ... &lt;td&gt;&lt;span&gt;1600&lt;/span&gt;&lt;/td&gt; &lt;td&gt; &lt;span&gt;300&lt;/span&gt; &lt;input type=&quot;button&quot;...

Как вытащить текст выбранного элемента списка?
Как вытащить &lt;option&gt;этот текст&lt;/option&gt;? $(this).text() вытаскивает все пункты в виде текста. $('#select').change(function() { ...

RegExp: Вытащить определённый символ из текста, не учитывая html - разметку
Нужно заменить символ, если он не находится в ключевом слове html. Есть, к примеру, строка: &lt;div style=&quot;border:...

Как вытащить текст со Html странички? Html Agility Pack
Всё очень просто как вытащить текст с Html странички с помощью Html Agility Pack? К примеру у нас есть страничка того же сайта ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru