powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / анализ HTML-кода
35 сообщений из 35, показаны все 2 страниц
анализ HTML-кода
    #33997131
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!

Поставили задачу - автоматизировать копирование данных с сайтов в программу. На сколько правильным является такое решение ?

К рискам и сложностям я могу отнести только изменение структуры сайта web-программистами.
Какие еще аргументы можно привести, чтобы опровергнуть такую задачу?
Есть у кого-нибудь опыт поддержки такой автоматизации?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #33997293
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сайт "дружественный" -- можно попросить предоставлять данные в XML.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #33997396
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlЕсли сайт "дружественный" -- можно попросить предоставлять данные в XML.

Сайт не дружественный.
RSS, XML-сервисы отсутствуют.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #33997456
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, в общем-то, сделать-то работы на полчаса, просто предупредите, что дальнейшая работоспособность этого модуля зависит не от вас.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #33998503
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПоставили задачу - автоматизировать копирование данных с сайтов в программу.

Решается несложно с помощью регулярных выражений. Конкретнее - зависит от специфики вытягиваемой информации.
Такую вытягивалку необходимо постоянно сопровождать, ибо верстка может меняться.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34000105
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется более устойчивый к изменению верстки и более простой в сопровождении результат можно получить следующим образом:
1) прогонять страницу через tidy, получая на выходе валидный XML
2) обрабатывать его выражениями XPath, например при помощи xsltproc
Такая программа будет конечно не самой быстрой, зато производительность разработчика будет на высоте.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34000764
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторМне кажется более устойчивый к изменению верстки и более простой в сопровождении результат можно получить следующим образом:

мне кажется, что это принципиально ничем не отличается от

авторРешается несложно с помощью регулярных выражений.

т.к.

авторТакую вытягивалку необходимо постоянно сопровождать, ибо верстка может меняться.

Со сменой дизайна регэкспы станут стольже невалидны, как и пути XPath.

авторзато производительность разработчика будет на высоте
Не очень понял, что за производительность имеется в виду? :(
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34000795
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работал и с регэкспами, и с XPath -- второй на порядок прозрачнее. В первом случае мы изначально получаем очень "хрупкий" код, который плохо выдерживает добавление заплат. Мелкие изменения верстки tidy будет нивелировать, поэтому менять код понадобится реже. Принципиально подход не отличается, просто немного технологичнее.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34000959
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ первом случае мы изначально получаем очень "хрупкий" код, который плохо выдерживает добавление заплат. Мелкие изменения верстки tidy будет нивелировать

Гм.. А не могли бы вы привести пример, когда XPath выдержит изменение html-кода, а регэксп - не выдержит? Мне все-таки кажется, что технологии одинаковой устойчивости в рамках данной задачи.

авторПринципиально подход не отличается, просто немного технологичнее.
Пожалуй-таки соглашусь. Выделяя слово "немного" :)
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34002487
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На XPath/XSL можно писать сложные и хорошо структурированные выражения типа "второе слово третьего абзаца ячейки таблицы на пересечении столбца 'цена' и строки 'алюминий' в разделе страницы с названием 'состояние склада'". Причем выражения получаются компактными и относительно (по сравнению с regexp) понятными. А regexp привязывается к локальному контексту, и в этом я вижу его слабость.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34002724
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа XPath/XSL можно писать сложные и хорошо структурированные выражения типа "второе слово третьего абзаца ячейки таблицы на пересечении столбца 'цена' и строки 'алюминий' в разделе страницы с названием 'состояние склада'".
Вы правы АБ, но и регэкспы работают именно так, как вы описали для XPath.

авторПричем выражения получаются компактными и относительно (по сравнению с regexp) понятными.
Согласен. И как говорил ранее: выделяя слово "немного" :)


авторА regexp привязывается к локальному контексту, и в этом я вижу его слабость.
Не очень понял, поясните пожалуйста.
И насчет
авторзато производительность разработчика будет на высоте
тоже непонятно.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34002762
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну елы-палы! Работать с веб-страницей как с иерархической структурой или как со строкой - есть разница? В regexp нет, например, готовых средств, позволяющих увязать открывающий тэг с закрывающим. В частных случаях это сделать можно (а в тривиальных и вовсе не требуется), но в общем случае - замучаетесь. regexp - это уровень лексического анализатора, для разбора грамматики он не предназначен (если Вы понимаете о чем я). А на XPath/XSLT можно анализировать и грамматические конструкции, и отдельные лексемы.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003047
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу елы-палы! Работать с веб-страницей как с иерархической структурой или как со строкой - есть разница?

А как быть в случаях с кривой версткой? Не всегда верстка соответствует стандартам. Не верите?
Заходим на http://validator.w3.org/ и просим проверить mail.ru.
Видим 437ошибок и среди них смотрим на вторую:
Line 30 column 6: end tag for element "HEAD" which is not open.
Справедливости ради отметим, что на странице открыающийся HEAD все-таки присутствует, видимо проблема в том, что находится внутри его.
Однако есть подозрение, что XPath-парсер тоже захочет соответсвия стандарту.?

И кроме того, найдутся и такие страницы, где будут грубые ошибки, допущенные студентами-фрилансерами.

авторВ regexp нет, например, готовых средств, позволяющих увязать открывающий тэг с закрывающим.
Согласен, нет.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003064
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalmА как быть в случаях с кривой версткой? Так для этого как раз и нужен tidy. По моему опыту, он неплохо справляется с разбором кривой верстки - догадывается где чего накосячили и делает из г..на конфетку в виде валитного XML.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003074
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу елы-палы!
Я кстати не оспариваю вашего решения и согласен с ним.

Просто из любопытства хочется узнать о том, насколько применение XPath упростит задачу по сравнению с регэспами.

С уважением.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003223
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На главной странице mail.ru tidy находит 20 ошибок и 260 варнингов (наверное действительно без студентов не обошлось). Но все же как-то ее прорубает, правда не без подсказок в виде опций:
Код: plaintext
1.
2.
3.
4.
5.
output-xml:  1 
quiet:  1 
force-output:  1 
show-errors:  0 
show-warnings:  0 
output-encoding: raw
В выходном файле надо подправить xml-декларацию в первой строке.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003477
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБНа главной странице mail.ru tidy находит 20 ошибок и 260 варнингов (наверное действительно без студентов не обошлось). Но все же как-то ее прорубает, правда не без подсказок в виде опций:
Код: plaintext
1.
2.
3.
4.
5.
output-xml:  1 
quiet:  1 
force-output:  1 
show-errors:  0 
show-warnings:  0 
output-encoding: raw
В выходном файле надо подправить xml-декларацию в первой строке.

А теперь прошу пояснить, что за звери такие
XPath , регэкспы , tidy ? и что из них все таки эффективнее?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003502
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslashА теперь прошу пояснить, что за звери такие... у как все запущено :) что, гугль уже совсем ничего не находит?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003531
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБ flashslashА теперь прошу пояснить, что за звери такие... у как все запущено :) что, гугль уже совсем ничего не находит?

не думайте, что разбираясь в одной задаче стали большим. Это заблуждение!
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003559
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллега, вам указали тропу по которой стоит идти. Это на самом деле самое ценное, потому что выбор неправильной тропы может стоить очень дорого. Но не ожидаете ли вы, что кто-то возьмет вас за руку и проведет по этой тропе? Ключевые слова есть - ищите, разбирайтесь, в случае затруднений задавайте конкретные вопросы. А мой рост пусть вас не беспокоит. Успехов!
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003662
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБКоллега, вам указали тропу по которой стоит идти. Это на самом деле самое ценное, потому что выбор неправильной тропы может стоить очень дорого. Но не ожидаете ли вы, что кто-то возьмет вас за руку и проведет по этой тропе? Ключевые слова есть - ищите, разбирайтесь, в случае затруднений задавайте конкретные вопросы. А мой рост пусть вас не беспокоит. Успехов!

Все это конечно интересно. Но мой вопрос заключался не в выборе методов решения, а в поиске аргументов, чтобы не решать задачу вообще. Потому что копируем не текст, а цифры. И цена ошибки высока.
Если этому можно серьезно возразить, то пожалуйста. Я готов выслушать.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003769
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему тут народ как-то больше ориентирован на то, чтобы задачи решать. Если же вам нужна помощь в том, чтобы не решать, то может вам лучше по другому адресу обратиться? В госдуму, например :)
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003828
Фотография flashslash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБПо моему тут народ как-то больше ориентирован на то, чтобы задачи решать. Если же вам нужна помощь в том, чтобы не решать, то может вам лучше по другому адресу обратиться? В госдуму, например :)

остроумно :), хотя, согласно вашей теории о выборе правильного пути от решения задачи стоит отказаться.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34003941
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНо мой вопрос заключался не в выборе методов решения, а в поиске аргументов, чтобы не решать задачу вообще.

А разве это не ответ на ваш вопрос:
авторИ цена ошибки высока.

??
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34004182
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flashslashВсе это конечно интересно. Но мой вопрос заключался не в выборе методов решения, а в поиске аргументов, чтобы не решать задачу вообще. Потому что копируем не текст, а цифры. И цена ошибки высока.
Если этому можно серьезно возразить, то пожалуйста. Я готов выслушать.

На всякий аргумент в данном случае найдётся контраргумент. С технической точки зрения ты всегда сможешь написать программу, которая хотя бы один раз загрузит нужные данные. ИМХО, этого достаточно.

Другое дело, что данные могут быть изначально недостоверными (но большие отклонения обычно легко выявляются, а малые не наносят большого ущерба), наконец результат может проконтролировать человек. Поддержка такой программы (например регулярная доработка в ответ на изменение структуры html документа) може оказаться слишком дорогой, но это уж как сделаешь.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34004479
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Давайте уточним цели: опровергнуть постановку задачи чтобы что?
- чтобы не брать на себя лишнюю нагрузку?
- чтобы решить задачу альтернативным путем?
- что-то еще?

Какую бизнес-цель пр6еследует заказчик, как можно удовлетворить его по другому?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34008545
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поглядите на http://www.geocities.com/wigengine/development/index.html. Эту штуку я писал года три назад под два заказа. Я там придумал специальный язык, который позволяет описать в виде некоего скрипта, что, в какой последователности и как нужно извлекать с определенного сайта. Это позволяет на каждый случай писать довольно простой скрипт, который потом исполняется этой штукой (engine). Если сайт изменился, скрипт требуется, естествено, поправлять соответственно. Выход - извлеченные данные в XML.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34008640
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А каковы преимущества перед регулярными выражениями?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34011330
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlА каковы преимущества перед регулярными выражениями?

Не понял вопроса. Вы хотите сравнить мой движок с его языком описания обраьботки .... с ЧЕМ? С другим движком?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34011722
Фотография Calm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе понял вопроса. Вы хотите сравнить мой движок с его языком описания обраьботки .... с ЧЕМ? С другим движком?

Сравнить вполне логично, ибо зачем-то вы писали свой, а не использовали имеющиеся средства. Видимо есть какие-то преимущества?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34013377
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalmСравнить вполне логично, ибо зачем-то вы писали свой, а не использовали имеющиеся средства. Видимо есть какие-то преимущества?

Какие "имеющиеся"?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34013734
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что непонятного в вопросе? Задачу можно решать с помощью регулярных выражений, для конкретики, возьмём, скажем PCRE-совместимые. В чём преимущество вашего решения?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34014078
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlА что непонятного в вопросе? Задачу можно решать с помощью регулярных выражений, для конкретики, возьмём, скажем PCRE-совместимые. В чём преимущество вашего решения?

Вы как-то странно вопрос ставите. Для того чтобы сравнивать решения, надо иметь их перед собой. Одно есть. Где второе? Работающий продукт, инструмент?

Или Вы просто эрудицией поблескиваете? Ну, и у меня там где надо RE используются, но для полноценного сбора информации с многостраничного HTML-ресурса их совершенно недостаточно.
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34014125
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не пойму, мы тут соревнуемся, кто кого занудней?)
Ну хорошо, в качестве альтернативного решения предлагаются регулярные выражения и любой скриптовый язык, первым напрашивается Perl, или PHP, или Python, или Ruby, или Your_Favorite_Scripting_Language. Очевидно, что работа по выполнению какой-то надстройки над просто скриптами и просто регулярными выражениями имела какую-то цель. Так в чём состояла эта цель?
...
Рейтинг: 0 / 0
анализ HTML-кода
    #34014890
М.Голованов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlЯ не пойму, мы тут соревнуемся, кто кого занудней?

Тогда покончим на этом.
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / анализ HTML-кода
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]