Фильтр HTML страниц

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Фильтр HTML страниц

Сообщение jangle » 19.01.2009 (Пн) 13:04

Необходимо реализовать фильтр HTML страниц, т.е. реализовать парсинг и вырезание определенных тегов, рекламы, банеров, скриптов и т.д.
Сам фильтр будет в BHO поэтому пишу его на PB.
Однако подскажите пример плиз, как на VB получить HTML код страницы после прихода _NavigateComplete2
При этом, чтобы JavaScript не должен успеть выполнится (его надо как раз вырезать, некоторые из скриптов)
Как лучше поступить? Как перехватить поток, идущий к WebBrowser и внести изменения в него?


Код: Выделить всё
Method Form1_WebBrowser1_NavigateComplete2 <&H000000FC> _
  ( _
  ByVal pDisp   As Dispatch, _        ' [in] IDispatch
        URL     As Variant _          ' [in]
          )
     '**************************************************************************
     'Вот тут мне надо получить HTML код, вырезать ненужное, сохранить обратно
     '**************************************************************************
     MsgBox "NavigateComplete2" + $CrLf + Variant$(URL)
End Method

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: Фильтр HTML страниц

Сообщение RayShade » 19.01.2009 (Пн) 13:49

Поставить Outpost Firewall :) Резать что-от в процедуре загрузки в WB бессмысленно. Это слишком поздно.
I don't understand. Sorry.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Фильтр HTML страниц

Сообщение jangle » 19.01.2009 (Пн) 14:16

RayShade писал(а):Поставить Outpost Firewall :) Резать что-от в процедуре загрузки в WB бессмысленно. Это слишком поздно.


Outpost Firewall - думаю не выход из проблемы. Кстати есть же BHO которые режут вспывающие окна, банеры и т.д.
Пока страница не отобразилась, ее ведь можно исправить, а потом просто перезагрузить исправленную версию, только вот как это сделать?

Мамонт
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 479
Зарегистрирован: 21.02.2005 (Пн) 16:48
Откуда: Ленинград

Re: Фильтр HTML страниц

Сообщение Мамонт » 19.01.2009 (Пн) 16:00

Очень просто. Вернее сложно и некрасиво. На ц++ както умеют трафик перехватывать, в ВБ могу предложить метод моего трафикосжимателя. Прописываеш в браузере локальный прокси. Пишеш на вб проксисервер который перехватыевает запросы браузера, качает страничку нужную которую запросил браузер, далее вырезается твоя реклама, можеш даже чонить и сам добавить на странцу, ну и собственно в конечном итоге отдаёш эту чистую страницу браузеру назад. Я по такому методу трафик сжимал. 8)
alibek
Злой Человек

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Фильтр HTML страниц

Сообщение jangle » 19.01.2009 (Пн) 17:00

Мамонт писал(а):Очень просто. Вернее сложно и некрасиво. На ц++ както умеют трафик перехватывать, в ВБ могу предложить метод моего трафикосжимателя. Прописываеш в браузере локальный прокси. Пишеш на вб проксисервер который перехватыевает запросы браузера, качает страничку нужную которую запросил браузер, далее вырезается твоя реклама, можеш даже чонить и сам добавить на странцу, ну и собственно в конечном итоге отдаёш эту чистую страницу браузеру назад. Я по такому методу трафик сжимал. 8)


Да уж слишком некрасиво получается. Можно поступить примитивнее, поскольку JavaScript выполняется между событиями WebBrowser_NavigateComplete2 <&H000000FC> и WebBrowser_DocumentComplete <&H00000103> в обоих методах получать HTML код через WebBrowser.Document.body.innerHTML вырезать ссылки на вредоносные скрипты и банеры, потом загнать модифицированный HTML обратно в WB.
Правда при загрузке, ползователь увидит сначала страницу с рекламой, потом она обновится, и реклама исчезнет. Это не очень красиво выглядет.

Мамонт
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 479
Зарегистрирован: 21.02.2005 (Пн) 16:48
Откуда: Ленинград

Re: Фильтр HTML страниц

Сообщение Мамонт » 19.01.2009 (Пн) 17:30

Да.... красота требует жертв! :D
alibek
Злой Человек

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: Фильтр HTML страниц

Сообщение RayShade » 20.01.2009 (Вт) 15:33

Outpost - самое оно. Умеет резать и баннеры, и вообще все что скажешь, и фильтрует трафик на самом низком уровне. Так что лучше чем там, ты вряд ли это реализуешь.
I don't understand. Sorry.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Фильтр HTML страниц

Сообщение jangle » 20.01.2009 (Вт) 15:44

RayShade писал(а):Outpost - самое оно. Умеет резать и баннеры, и вообще все что скажешь, и фильтрует трафик на самом низком уровне. Так что лучше чем там, ты вряд ли это реализуешь.


Outpost - может вырезать куски HTML кода и скриптов, по наличию в них определенных ключевых слов?

Мамонт
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 479
Зарегистрирован: 21.02.2005 (Пн) 16:48
Откуда: Ленинград

Re: Фильтр HTML страниц

Сообщение Мамонт » 21.01.2009 (Ср) 9:27

Напиши свой браузер, и будет тебе низкий уровень. Винсоком качаеш, обрабатывеш и в webbrowser засовываеш!
alibek
Злой Человек

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Фильтр HTML страниц

Сообщение jangle » 21.01.2009 (Ср) 10:50

Мамонт писал(а):Напиши свой браузер, и будет тебе низкий уровень. Винсоком качаеш, обрабатывеш и в webbrowser засовываеш!


Браузер писать для такой примитовной задачи? Это просто смешно...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Re: Фильтр HTML страниц

Сообщение RayShade » 21.01.2009 (Ср) 14:20

Я не помню точно, что он там умеет и как, но фильтры там есть и достаточно гибко настраиваемые. Что по адресам, что по ключевым словам.
I don't understand. Sorry.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Фильтр HTML страниц

Сообщение alibek » 21.01.2009 (Ср) 14:39

Не очень он гибкий для этого.
По крайней мере версия 3.5.
Советую использовать для подобных целей Proxomitron. Хоть проект и перестал развиваться, но ничего более гибкого в плане управления контентом для рабочих станций нет.
Lasciate ogni speranza, voi ch'entrate.

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Фильтр HTML страниц

Сообщение jangle » 21.01.2009 (Ср) 15:23

alibek писал(а):Не очень он гибкий для этого.
По крайней мере версия 3.5.
Советую использовать для подобных целей Proxomitron. Хоть проект и перестал развиваться, но ничего более гибкого в плане управления контентом для рабочих станций нет.


Почитал про Proxomitron, похоже это то что нужно, спасибо!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList