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

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

05.07.2013, 12:26. Показов 11535. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru