Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1

Чем вы пользуетесь при парсинге сложных сайтов?

08.07.2012, 14:25. Показов 1924. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно САБЖ.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.07.2012, 14:25
Ответы с готовыми решениями:

Реализовать многопоточность при парсинге сайтов
Привет парни!) есть код ,но вообще не отстреливаю как реализовать многопоточность ... возможно кто то подскажет... в двух...

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

Адаптивность сложных сайтов
Ребята, прислали три макета на три расширения экрана. Как правильно верстать адаптивный сайт? Сайт сложный, нельзя применять...

16
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 15:06
kzru_hunter, какое отношение это имеет к билдеру?
Собственно, ответ.
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
08.07.2012, 15:30  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
какое отношение это имеет к билдеру?
а разве на билдере не парсят сайты?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 15:37
kzru_hunter, Правила, п.4.7.
Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены.
Что отсутствует в вашем "собственно САБЖе".
0
 Аватар для kzru_hunter
1124 / 795 / 101
Регистрация: 01.02.2011
Сообщений: 1,887
Записей в блоге: 1
08.07.2012, 16:48  [ТС]
ок,
мне просто интересно мнение тех, кто занимается этим делом (т.е. парсингом сайтов).
спросил, потому что медленно развивается эта область и пока что, я не нашел нормального решения.

Какие есть известные мне решения для билдера на данный момент:
1. регулярные выражения
Достоинства: хороши для парсинга строк с непростой структурой
Недостатки: не каждый сайт можно отпарсить (из-за закрывающих тегов)
2. Использование компонента CPPWebBrowser
Достоинства: предоставляет интерфейс DOM
Недостатки: тратится много времени на отрисовку (и похоже нельзя отключить)
3. Использование библиотеки libxml2
Достоинства: предоставляет интерфейс DOM
Недостатки: необходимо носить с собой библиотеки, не понравилась документация

У каждого решения есть также недочет: не всегда можно найти нужный тег с помощью одного вызова функции.
Например, не получится в следующем html-тексте:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<html>
     <div class = "class">
          <div class = "Good">
              <div class = "class">
                   <div>
                   ...
                   </div>
                   Good
              </div>
        </div>
   </div>
</html>
вытащить строку 'Good' с помощью всего одного вызова функции типа такого:
C++
1
2
FindTag(hHtml, "div:class=\"good\"\r\n"
                     "div:class=\"class\"")
Тут выход только - написать самому такую функцию, что не есть гуд.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 17:26
Boost HTML Library
1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.07.2012, 17:46
Boost HTML Library
А если подумать пойдет ли это на Builder-е?
C++
1
#include <boost/html/document.hpp>
2009 его не знает.
Code
1
[BCC32 Error] Unit1.cpp(4): E2209 Unable to open include file 'boost\html\document.hpp'
Вообще придется ставить какую нибудь специальную либу и прикручивать её к Builder-у
В крайнем случае можно воспользоваться boost/regex.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 17:56
Avazart, а при чем тут 2009, если вы путь к файлу не указали ?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.07.2012, 18:54
Какому файлу?
Он иклюд не видит.

Добавлено через 56 минут
Boost::HTML requires Boost version 1.33 or later.
И тем не менее в Builder2009 (boost v1.35) он не включен видимо из-за несовместимости с самим Builder-ом.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 19:34
а инклюд - это что? Дух Святой?
и Boost HTML Library , я так понимаю, библиотека, которая не входит в стандартную проставку Boost
Boost::HTML requires Boost version 1.33 or later.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.07.2012, 19:55
библиотека, которая не входит в стандартную проставку Boost
Интересно, а как вы тогда думаете его прикручивать к Builder-y
kzru_hunter, какое отношение это имеет к билдеру?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 20:27
я не думаю, оно мне не нужно, и не надо передергивать и использовать мой вопрос относительно первого сообщения в качестве аргумента относительно буст
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.07.2012, 20:29
Смысл советывать, то что не доступно?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 20:31
вам предоставить готовое решение ? извините...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.07.2012, 23:16
Ну хотя бы не подсовывать не решение.

Нашел libxml2 http://ckod-doc.narod.ru/doc/l... arser.html

Скачать можно здесь http://garr.dl.sourceforge.net... -1-lib.zip

Добавлено через 54 минуты
Что хорошо - там уже есть lib-файл предназначенный для Buildera (libxml2-bcc.lib).Останится только скачать некоторые dll-ки.

Если всё еще актуально можно могу попробывать состряпать и выложить пример.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
08.07.2012, 23:24
давай
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.07.2012, 00:39
Лучший ответ Сообщение было отмечено как решение

Решение

https://www.cyberforum.ru/blog... og538.html
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2012, 00:39
Помогаю со студенческими работами здесь

Офис.Чем пользуетесь вы?
Суть темы - нужен офисный пакет под Линукс, что нужно - как можно меньшие тормоза, проверка орфографии русского языка, как можно большая...

ФТП клиент, чем вы пользуетесь?
Доброго времени суток! Тут в соседней теме прочитал бурное обсуждение редакторов, в результате открыл для себя новую программу, которой и...

Чем пользуетесь для выбора значений из больших справочников?
Во всех примерах приводятся DbColumn, DbLookup, которые бесполезны, если делать выбор, из справочника контактов на 10тыс. ФИО, например.

Напишите ваши среды разработки и то, чем пользуетесь сами
напишите ваше среды разработка и то всё чем подберетесь САМИ

Чем обоснована необходимость анализа однородности измерительных данных, характеризующих состояние сложных систем
Никак не могу найти ответы на вопросы: 1. Чем обоснована необходимость анализа однородности измерительных данных, характеризующих...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru