|
Парсер HTML | ☑ | ||
|---|---|---|---|---|
|
0
Python
15.10.09
✎
16:12
|
кто может посоветовать как сделать Парсер HTML
|
|||
|
1
ДенисЧ
15.10.09
✎
16:14
|
Парсер.Сделать(Перечисления.ТипыПарсеров.HTML);
Сообщить("Мы сделали парсер!"); |
|||
|
2
Python
15.10.09
✎
16:17
|
(1) Парсер - а где ты взял. шутиш.
А по делу можна Хоть на подобии XML |
|||
|
3
b4rs30
15.10.09
✎
16:18
|
(2) Ппц. Вот он. Русския язык.
|
|||
|
4
Fragster
гуру
15.10.09
✎
16:18
|
а чем полеHTMLдокумента и иже с ним не устраивает?
|
|||
|
5
zak555
15.10.09
✎
16:18
|
Найти() + Сред() + Лев() + Прав() + ...
|
|||
|
6
Python
15.10.09
✎
16:20
|
(4) да я взял полеHTMLдокумента вытянул из него весь текст - а как вытянуть то что в тексте
|
|||
|
7
Python
15.10.09
✎
16:21
|
(5) пока так и мучаюсь,думал может кто ище знает чтото объектное
|
|||
|
8
Fragster
гуру
15.10.09
✎
16:21
|
(6) пля....
|
|||
|
9
Fragster
гуру
15.10.09
✎
16:22
|
срочно учить DOM и курить СП в разделе поля html документа...
|
|||
|
10
TheNewOne
15.10.09
✎
16:22
|
А может заюзать парсер XML ?
|
|||
|
11
Python
15.10.09
✎
16:23
|
(8) а имено ...
|
|||
|
12
Fragster
гуру
15.10.09
✎
16:23
|
(10) не каждый валидный html является валидным xml
|
|||
|
13
Fragster
гуру
15.10.09
✎
16:23
|
(11) ты так и не показал своего творения, юзающего OprenGL
|
|||
|
14
acsent
15.10.09
✎
16:24
|
Из полеHTMLдокумента можно получить обычный текст без тегов
|
|||
|
15
Гений 1С
гуру
15.10.09
✎
16:24
|
скачай PIM и посмотри, как работает мамбирование.
или кури Новый ComОбъект("HTMLFile"); |
|||
|
16
Python
15.10.09
✎
16:27
|
ComОбъект("HTMLFile") это интересно
|
|||
|
17
Python
15.10.09
✎
18:36
|
(11) какое творение в OprenGL
|
|||
|
18
Ковычки
15.10.09
✎
18:38
|
смени ник
|
|||
|
19
1c_asp
15.10.09
✎
18:45
|
(0) Я помницца делал так :
Написал фунцию ПолучитьСледующуюСекцию(текстХТМЛ) в которую передается текст ХТМЛ а возвращается кусок кода начиная с первого найденного тега и заканчивая его окончанием. Переданный текст укорачивается на эту секцию. И вызывая эту функцию и постепенно скармливая ей полученные куски разбирал ХТМЛ до запчастей. А запчасти уже анализировал |
|||
|
20
1c_asp
15.10.09
✎
18:53
|
о... нашел старый код...
// Из HTML строки получает указанную секцию. Используется для разбора HTML // Из переданной строки указанная секция вырезается и возвращается // Начало секции не должно быть закрыто // //Пример использования //// получение таблицы //секц = ПолучитьСекцию(html_строка,"<TABLE","</TABLE>"); //// обход по строкам //Если секц <> "" тогда // // цикл по строкам // Пока 1 = 1 цикл // стрсекц = ПолучитьСекцию(секц,"<TR","</TR>"); // Если стрСекц = "" тогда // прервать; // конецесли; // конеццикла; //конецесли; Функция глПолучитьСекциюHTML(Тхт,НачалоСекции,КонецСекции) Экспорт НачПоз = найти(тхт,НачалоСекции); // отрезаем от текста все, что шло до этой секции Тхт = Сред(тхт,начПоз + стрдлина(НачалоСекции)); НачПоз = найти(тхт,">"); тхт = Сред(тхт,НачПоз+1); КонПоз = найти(тхт,КонецСекции); Секц = лев(тхт,КонПоз-1); // отрезаем от текста указанную секцию Тхт = Сред(тхт,КонПоз+стрДлина(КонецСекции)); возврат секц; КонецФункции |
|||
|
21
Ковычки
15.10.09
✎
18:56
|
(20) это чо ?
|
|||
|
22
Rie
15.10.09
✎
18:57
|
(20) И выкинь. Он неправильный.
Не учитываешь вложенность. |
|||
|
23
1c_asp
15.10.09
✎
19:02
|
(22) Ну покажи нам что нибудь свое, более типа правильное. Или ты мастер попиз...ть тока ?
|
|||
|
24
php5
15.10.09
✎
19:03
|
регулчрные выражения можно еще заюзать для разбора.
|
|||
|
25
Ковычки
15.10.09
✎
19:04
|
(24) ник смени
|
|||
|
26
1c_asp
15.10.09
✎
19:07
|
(22) 63 года а ума не нажил. Значит так дурнем и помрешь.
Судить о том, правильный код или неправильный можно только зная задачу, для которой он предназначен. Да, код в (20) не учитывает вложенности, однако задачу разбора простого HTML он выполняет. |
|||
|
27
Rie
15.10.09
✎
19:13
|
(26) Мальчик! В (19), (20) ты давал ответ на вопрос в (0). Твоя программа _не является_ HTML-парсером. Так что ты дал человеку неправильный ответ.
Когда тебе указали на ошибку - ты начал гнуть пальцЫ. Тьфу... |
|||
|
28
1c_asp
15.10.09
✎
19:19
|
(27) дурень, ты ж не знаешь, какая задача стоит. Вполне возможно, что (20) хватит
|
|||
|
29
Rie
15.10.09
✎
19:21
|
Пионэры разбушевались...
|
|||
|
30
Гений 1С
гуру
15.10.09
✎
19:54
|
в книге знаний есть парсер XML, HTML он на ура вытянет, если нужно именно свою функцию юзать.
|
|||
|
31
Rie
15.10.09
✎
20:02
|
(30)
<p>Ты это гарантируешь?<br>Или чего-то не учитываешь?</p> |
|||
|
32
Fragster
гуру
15.10.09
✎
20:42
|
(17) любое
(24) нифига, регулярки - конечные автоматы, а html - люьой можети быть (31) <i>ничего</i> не <i>учитывается</i> блин, почему стандортный механизм доступа к DOM через полеHTMLдокумента никому не нравится? тогда internetexplorer.application заюзайте... |
|||
|
33
Python
21.10.09
✎
17:47
|
ДокументХТМЛ = ЭлементыФормы.ПолеHTMLДокумента.Документ;
ТелоДокумента = ДокументХТМЛ.body; //Перебираем все Подчиненые элементы для тела документа Для каждого елемент из ТелоДокумента.getElementsByTagName("*") Цикл //елемент.tagName - наименование елемента; ИмяТега = елемент.tagName; //Текст который в теге ТекстТега = елемент.outerText; //Проверяем тест в теге с которого нам надо начать читать Если ТекстТега = "Сводная таблица индексов инфляции" Тогда НомерСтроки = 0; НомерКолонки = 0; КонецЕсли; //Новая строка Если ИмяТега = "TR" Тогда НомерСтроки = НомерСтроки + 1; КонецЕсли; //Первая колонка //Одна ячейка з названием реквизита Если ИмяТега = "TH" Тогда НомерКолонки = 1; КонецЕсли; //Следущие колонки //Ячека з данными реквизита Если ИмяТега = "TD" Тогда НомерКолонки = НомерКолонки + 1; КонецЕсли; //Проверяем или нам надо дальше читать Если ИмяТега = "P" тогда Прервать; КонецЕсли; МассивДанных(НомерСтроки,НомерКолонки) = ТекстТега; КонецЦикла; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |