Как оптимизировать классический поиск элемента на огромной странице???

leva001

Client
Регистрация
26.07.2015
Сообщения
281
Благодарностей
47
Баллы
28
Собственно вопрос в теме.

Пример:
Парсер с помощью классического поиска элемента сохраняет профили людей с поиска фейсбук.
Он берет все доступные на сраничке профили, после чего прокручивает сраницу в самый низ и тогда подгружаются еще профили, опять их сохраняет, прокручивает снова самый низ, сохраняет и так по кругу.

Получается с каждой подгрузкой новых профилей растет количество кода стариницы, т.к. старые профили никуда не деваются, просто остаются выше. И вот чем дальше сраница прокручивается вниз, тем медленнее начинает работать парсинг, т.к. он обрабатывает все данные на сранице.

Отсюда вопрос, как оптимизировать сей процесс? Есть ли возможность задать поиск элементов только по видимой области окна? И как вообще происходит поиск? Если он идет, например, по Page.Source, то может можно как-то обрезать Page.Source и оставить последние пару десятков строк что бы поиск был только по ним? Какие есть варианты?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 306
Баллы
113
Как вариант, полученные данные/элементы удалять со страницы.
 
  • Спасибо
Реакции: leva001

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 945
Благодарностей
4 353
Баллы
113
Почему бы сначала не загрузить всю страницу, а потом регулярками спарсить весь HTML?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 306
Баллы
113
Почему бы сначала не загрузить всю страницу, а потом регулярками спарсить весь HTML?
Ожидание, пока пролагает загрузка последних элементов, может быть очень долгой.
регулярками спарсить весь HTML
Ещё и это...
 

Rooter85

Client
Регистрация
04.07.2015
Сообщения
244
Благодарностей
63
Баллы
28

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 383
Благодарностей
3 306
Баллы
113

leva001

Client
Регистрация
26.07.2015
Сообщения
281
Благодарностей
47
Баллы
28
О, походу то что надо. Можете накинуть пример с регуляркой, которая будет удалять все что находится например перед значением 1024054104069445565 ? Или там только определенные элементы можно удалять?
 

Rooter85

Client
Регистрация
04.07.2015
Сообщения
244
Благодарностей
63
Баллы
28
Использую метод SetAttribute , устанавливаю новое значение атрибута "innerhtml", но не могу изменить атрибут "width". Попробовал заодно поменять и "clientwidth", не помогло. Эти атрибуты можно изменить на свои значения?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)