powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / анализ HTML-кода
25 сообщений из 35, страница 1 из 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
25 сообщений из 35, страница 1 из 2
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / анализ HTML-кода
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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