|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
|||||||||||
Слишком медленно парсится. можна ли как то ускорить20.12.2012, 20:56. Показов 2196. Ответов 15
Метки нет (Все метки)
Всем привет. Выдираю вообщем с html странички по тегам информацию которую мне нужно.. вроде всё работает, но ужасно медленно :/
Привожу код функции... (почти всё завязано на substring) интересно.. есть ли способ сделать это быстрее.. или хотя бы ускорить то, что имеется:
таких.. стягиваю текст(html) таким способом
Не по теме: нагло стыренный с форума Потом уже с мемо вырезаю кусок который нужен (обрезаю по <div> и оставляю только кусок , где содержатся мои обьекты) Вообщем страница парсится(ну не парсится.. ну вырезается ) от 10 до 20 секунд На странице до 30 элементов.. (скажем даже обьектов) и у каждого такого обьекта по 5 строчек которые я вытягиваю. Может кто то знает быстрей способ.. или подскажет как тут ускорить :/ с ув. Petruchodd
0
|
|||||||||||
| 20.12.2012, 20:56 | |
|
Ответы с готовыми решениями:
15
Очень медленно скачивает страницу (TIdHTTP). Как ускорить? Решето Эратосфена (сегмент): медленно работает - как можно ускорить? Народ а как можна сделать штоб можна было скачевать файлы через браузер в делфи |
|
Марсианин)))
713 / 46 / 15
Регистрация: 18.07.2010
Сообщений: 637
|
|||||||
| 20.12.2012, 21:08 | |||||||
1
|
|||||||
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
||
| 20.12.2012, 21:12 [ТС] | ||
|
Просто в мемо я как бы впихиваю весь текст(грубо говоря всю страницу) оттуда вырезаю кусок и присваиваю его переменной ansistring потом уже с ansistringom продолжается работа.. но иногда всё так же требуется обратится где то в мемо
0
|
||
|
|
|||
| 20.12.2012, 21:16 | |||
|
А stl, boost/regex не пробовали ? Добавлено через 3 минуты
0
|
|||
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
|||||||
| 20.12.2012, 21:20 [ТС] | |||||||
а про boost/regex я даже не знаю че это :/
0
|
|||||||
|
|
|||
| 20.12.2012, 21:29 | |||
|
Если я нечего не путаю, то нужно использовать ф-цию PosEx() из StrUtils.hpp
https://www.cyberforum.ru/post898243.html Добавлено через 1 минуту Добавлено через 2 минуты Добавлено через 1 минуту К примеру Парсер boost/regex Поиск ссылок в html-документе
2
|
|||
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
||
| 20.12.2012, 21:30 [ТС] | ||
|
Так.. а как же тута лучше поступить ?Кроме substring я даж хз че еще можна поюзать :/
0
|
||
|
|
||||||
| 20.12.2012, 21:41 | ||||||
У вас поиск каждый раз сначала строки tempString начинается... что тут не понятного.. Метод Pos() начинает искать каждый раз с начала строки т.е. с с 1-го элемента, в то время как можно начинать поиск основываясь на предыдущем поиске Добавлено через 7 минут P.S. насчет IdHTTP то можно грузить сразу в строку или в Memo без потоков ... https://www.cyberforum.ru/blog... og608.html
1
|
||||||
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
||
| 20.12.2012, 21:56 [ТС] | ||
|
И очень много времени (12) тянется информация с сайта :/ вов за статью (ссылку) спасибо большое, пока писал и вычислял , не заметил что вы подправили пост. Спасибо большое , сейчас почитаю
0
|
||
|
|
||||||
| 20.12.2012, 22:04 | ||||||
|
Так что занимает время я так и не понял ... Парсинг или Загрузка с сайта ?
С парсингом вроде разобрались ... Насчет загрузки можно попробывать компрессию применить ( см блог ) Добавлено через 7 минут Насчет PosEx()
1
|
||||||
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
|||||||
| 20.12.2012, 22:09 [ТС] | |||||||
Сейчас почитаю про компрессию.. как только найду
0
|
|||||||
|
|
|
| 20.12.2012, 22:18 | |
|
1
|
|
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
||
| 21.12.2012, 03:52 [ТС] | ||
( блин((( а вот как раз именно считывание с веба , занимает самое большее время
0
|
||
|
|
||
| 21.12.2012, 14:23 | ||
|
Что-то не так делаете. Добавлено через 11 минут Декомпрессия принятой страницы Добавлено через 39 минут Кстати в RAD XE3 работает, только что проверил.
0
|
||
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
|
| 29.12.2012, 21:39 [ТС] | |
|
Кому интересно на будущее. Memo очень медленное.. удалив полностью работу с ним и заменив всё на String смог добится время выполнения работы своего парсера с 3-10 секунд до 15-30 мс. С мемо минимум 3 секунды. WideString тоже медленный :/(покрайней мере у меня) AnsiString забил нафик )
0
|
|
|
|
|
| 29.12.2012, 21:43 | |
|
Ну это ерунда ... тормоза в Memo возникают только если необходима перерисовка.
Ясное дело что если ты будеш получать с серва данные и сразу парсить то будет будет быстрее нежели получить, вывести в Memo ( тут перерисовка), а потом парсить.
1
|
|
| 29.12.2012, 21:43 | |
|
Помогаю со студенческими работами здесь
16
DataGridView слишком медленно Система работает слишком медленно Windows XP работает слишком медленно
Слишком медленно работает перегруженный оператор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|