ВНИМАНИЕ! ОСТЕРЕГАЙТЕСЬ МОШЕННИКОВ!
Помните, что все браузеры Opera АБСОЛЮТНО БЕСПЛАТНЫ.
Загружайте новые версии ТОЛЬКО С ОФИЦИАЛЬНОГО САЙТА или с ресурсов, которым ДОВЕРЯЕТЕ!


Предыдущее | Следующее | Архив форума | myOpera.net | Поиск
Opera to FlashGet redirector elGeminy  11/15/06 08:35 PM

В общем, решил и я накатать приблуду к Опере, которая бы направляла линки во FlashGet.

Че умеем:
- закачать выбранный линк
- закачать все линки со страницы
- закачать все картинки со страницы (включая фоновую картинку)
- закачать все с фильтром типа файла
- парсить на предмет флешек
- закачать видео с сайта типа youtube.com и video.google.com. Загрузка основывается на движке VideoDownloader. Какие сайты поддерживаются, смотрим тут: _//javimoya.com._

Какие проблемы:
- с русской азбукой

Как используем, пример:

Code:

[Link Popup Menu]
; закачать линку
Item, "Download with FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l /src %u"
--------------------1
; закачать все линки
Item, "Download all" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href /img /flash"
--------------------2
; качаем архивы, типы указываем
Item, "Archives" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href |rar|zip|cab|arj|lzh|ace|7z|tar|gzip|uue|bz2|jar|iso|z|exe|dll|"
; качаем картинки
Item, "Images" = Execute program, "eof.exe", "/nowindow /page %S /src %u /img /href |jpeg|jpg|gif|tif|svg|tiff|bmp|png|ico|cur|ai|ani|dib|psd|"
; качаем видео с сайта типа youtube.com
Item, "Video special" = Execute program, "eof.exe", "/video %u %T"



Подробности в архиве

Все предложения приветствуюся
Все баги плз сопровождать страницей, на которой они были замечены )

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

Re: Opera to FlashGet redirector elGeminy  11/16/06 10:37 PM

Маленькое исправление и маленькое дополнение.
Дополнение: Наткнулся на сайт, где были маленькие превьюхи картинок, с ссылками на большие. Задолбало кликать по ссылке, искать на ней картинку и сохранять ее. Короче.
Умеем: по клику на ссылку выкачивать страницу по этой ссылке и парсить ее на предмет чего там вам нужно.

Code:

[Link Popup Menu]
Item, "Download all images on from link with FlashGet" = Execute program, "eof.exe", "/sourcepage %l /src %l /img /href |jpeg|jpg|gif|tif|svg|tiff|bmp|png|ico|cur|ai|ani|dib|psd|"

[Hotclick Popup Menu]
Item, 999000019 = Execute program, "eof.exe", "/sourcepage %T /src %l /img /href |jpeg|jpg|gif|tif|svg|tiff|bmp|png|ico|cur|ai|ani|dib|psd|"

См. readme


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

Я вот только не знаю, нужно ли сюда выкладывать обновления какие-сь, если народ не заинтересован - тута не очень удобный интерфейс...

Re: Opera to FlashGet redirector Monax  11/19/06 08:37 AM

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

Re: Opera to FlashGet redirector elGeminy  11/19/06 03:49 PM

Черт. Не подумал. Рассказываю.
Это утилита, ехе-шник, который запускается оперой по клику меню и говорит утилите, что нужно пропарсить страничку в кэше на предмет нужных объектов и, если таковые найдены, передать их в FlashGet. Можно, кстати, передавать их в любой другой качальщик, поддерживающий такие закидоны (а поддерживать должны все), но их нет у меня и желания ставить и ковырять их API нету. Утилита написана в C++ и используется не стандартный MSHTML парсер (как было бы на скриптах), но много более легкий и быстрый парсер, но имеющий некоторые ограничения, кот. пока что никак не мешають.

То была прелюдия, теперь как эту хрень использовать.
Во первых, в процессе парсинга можно показывать маленькое прозрачное окошко статуса внизу справа экрана. В нем пишется процесс работы и ошибки, если такие есть. Оно может быть полезен при длительных парсингах, чтобы было видно, работает улитита еще или нет. Если в процессе есть критическая ошибка, она пишется красным цветом и окно не закрывается и висит ждет ответа. Также буудет, если не найдено ни одного требуемого объекта. Окно в любой момент закрывается правым кликом по нему, а левым - таскается. Ключ, кот. говорит НЕ показывать окно вообще: /nowindow. Кстати, этот ключ можно убрать везде хотя бы на время тестирования утилиты и проверки правильности расположения ключей (если программа считает ключи неверными, она напишет в окне что то типа "неверный аргумент").

Далее, что означают ключи и как ими пользоваться.

------

Есть 4 ключа первого уровня. Они всегда должны идти первыми в списке ключей и не могут использоваться друг с другом. Исключение - ключ /nowindow может идти перед ними.

/lnk
ключ, который говорит взять одну линку и передать FlashGet. Вторым параметром идет сама линка:
/lnk %l
Третьим параметром может идти описание линка, оно будет в FlashGet в поле Description (это если вы выделите линку на странице и нажмете на нее правым кликом - выделенный текст пойдет в описание):
/lnk %l %T

/page
ключ, который говорит взять сраницу из кэша и пропарсить ее на предмет кого там вам нужно. Вторым параметром идет адрес кэшированной сраницы на диске:
/page %S

/sourcepage
ключ, который говорит взять линку и закачать ее (закачивает ее программа, а не FlashGet!), и пропарсить закачанную сраницу на предмет кого там вам нужно. Вторым параметром идет сама линка:
/sourcepage %l
Поддерживаются только http страницы

/video
ключ, который говорит найти видео на странице. Видео имеется в виду то, которое показывается на сайтах типа youtube.com и video.google.com. Обычно это видео с расширением .flv. Сама программа видео не ищет . Она передает адрес страницы одному движку в сети (Videodownloader.com), кот. ее парсит и возвращает программе ответ. Если у вас есть файерволл, то тут нужно будет пропустить программу в сеть, естессно.
Программа передает найденный линк с видео FlashGet.
Во-первых, бывают сбои в движке, во-вторых, к закачанному файлу нужно добавить расширение .flv (если его еще нет).
Вторым параметром идет адрес страницы, содержащей видео:
/video %u
Третьим параметром может идти описание видео, оно будет в FlashGet в поле Description (это если вы выделите название видео на странице - выделенный текст пойдет в описание):
/video %u %T

------

Есть один обязательный параметр. Он должен быть всегда - это адрес страницы-источника:
/src %u
Исключение только для ключа /video, там источник передается и так.

------

Далее ключи, которые указывают, на предмет чего парсить страницу.

/href
Искать ссылки (теги <a href />)
Если вы хотите передать Flashget все ссылки, вы пишете просто этот ключ и все.
Но можно отфильтровать ссылки по типам файлов. Для этого вторым параметром пишем типы файлов, которые удовлетворяют фильтру. Типы должны быть в таком виде: |тип1|тип2|.
Напрмер, вы хотите передать Flashget только ссылки, которые ссылаются на архивы типов zip, rar, 7z и cab:
/href |rar|zip|7z|cab|

/img
искать картинки (теги <img src />)
Фильтр тут не предусмотрен. Сначала хотел сделать фильтр по размеру картинки, потом вспомнил возможные нюнсы html и забил на это
Также смотрится тег <body>, если есть фоновая картинка, она гребется тоже. Я знаю только такие варианты описание фоновых картинок:
<body background = "image.jpg">
<body style = "background-image:url(image.jpg)">

/flash
Искать флеш-ролики. Я не силен в данном вопросе, полазив по сети, решил, что флешки могут скрываться только так:
<object><param name = "movie" value = "flash.swf" /></object>
Только я забил на <object>, я ищу просто такую комбинацию: <param name = "movie" value = "flash.swf">
Если кто-то знает другие варианты расположения флешек на сранице - вэлкам

------

Это были возможные ключи. Теперь как эту всю срань использовать и как встроить в меню Оперы.
Ищем свой файл меню Оперы. Надеюсь, все уже знают, где воно валяется и как его редактировать, этот вопрос обсасывался уже раз сто по всей сети.

------

1. Втыкаем просто как нам привычно по IE, без всяких наворотов:

Code:

; меню ссылки
[Link Popup Menu]
Item, "Закачать при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l %T /src %u"
Item, "Закачать все с этой ссылки при помощи FlashGet" = Execute program, "eof.exe", "/sourcepage %l /src %l /href /img /flash"

; меню ссылки-картинки
[Image Link Popup Menu]
Item, "Закачать при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l /src %u"
Item, "Закачать все с этой ссылки при помощи FlashGet" = Execute program, "eof.exe", "/sourcepage %l /src %l /href /img /flash"

; меню выделенного текста
[Hotclick Popup Menu]
Item, "Закачать при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l %T /src %u"
Item, "Закачать все с этой ссылки при помощи FlashGet" = Execute program, "eof.exe", "/sourcepage %l /src %l /href /img /flash"

; меню страницы
[Document Popup Menu]
Item, "Закачать все при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href /img /flash"
Item, "Закачать видео при помощи FlashGet" = Execute program, "eof.exe", "/video %u %T"



2. наворачиваем с фильтрами. Я лично для фильтров создал свое меню.

Code:

; новый раздел меню. Фильтры по наиболее распрастраненным типам. Кому мало - добавляйте свои :)
[All with FlashGet menu]
Item, "All" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href /img /flash"
--------------------1
Item, "Archives" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href |rar|zip|cab|arj|lzh|ace|7z|tar|gzip|uue|bz2|jar|iso|z|exe|bin|dll|"
Item, "Docs" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href |doc|rtf|djvu|pdf|xls|txt|djv|"
Item, "Images" = Execute program, "eof.exe", "/nowindow /page %S /src %u /img /href |jpeg|jpg|gif|tif|svg|tiff|bmp|png|ico|cur|ai|ani|dib|psd|"
Item, "Audio" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href |mp3|aac|cda|mid|midi|ogg|wma|wav|wmv|asf|"
Item, "Video" = Execute program, "eof.exe", "/nowindow /page %S /src %u /href |avi|dat|mpeg|mpg|vob|flv| /flash"

; новый раздел меню. Фильтры по наиболее распрастраненным типам. Кому мало - добавляйте свои :)
[All with FlashGet OnLink menu]
Item, "All" = Execute program, "eof.exe", "/sourcepage %l /src %l /href /img /flash"
--------------------1
Item, "Archives" = Execute program, "eof.exe", "/sourcepage %l /src %l /href |rar|zip|cab|arj|lzh|ace|7z|tar|gzip|uue|bz2|jar|iso|z|exe|bin|dll|"
Item, "Docs" = Execute program, "eof.exe", "/sourcepage %l /src %l /href |doc|rtf|djvu|pdf|xls|txt|djv|"
Item, "Images" = Execute program, "eof.exe", "/sourcepage %l /src %l /img /href |jpeg|jpg|gif|tif|svg|tiff|bmp|png|ico|cur|ai|ani|dib|psd|"
Item, "Audio" = Execute program, "eof.exe", "/sourcepage %l /src %l /href |mp3|aac|cda|mid|midi|ogg|wma|wav|wmv|asf|"
Item, "Video" = Execute program, "eof.exe", "/sourcepage %l /src %l /href |avi|dat|mpeg|mpg|vob|flv| /flash"

; меню ссылки
[Link Popup Menu]
Item, "Закачать при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l %T /src %u"
Submenu, "Закачать с этой ссылки при помощи FlashGet", All with FlashGet OnLink menu

; меню ссылки-картинки
[Image Link Popup Menu]
Item, "Закачать при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l /src %u"
Submenu, "Закачать с этой ссылки при помощи FlashGet", All with FlashGet OnLink menu

; меню выделенного текста
[Hotclick Popup Menu]
Item, "Закачать при помощи FlashGet" = Execute program, "eof.exe", "/nowindow /lnk %l %T /src %u"
Submenu, "Закачать с этой ссылки при помощи FlashGet", All with FlashGet OnLink menu

; меню страницы
[Document Popup Menu]
Item, "Закачать видео при помощи FlashGet" = Execute program, "eof.exe", "/video %u %T"
Submenu, "Закачать все при помощи FlashGet", All with FlashGet menu




Примечание 1.
По поводу того, как писать путь к программе. Вы конечно можете написать так:
... Execute program, "полный путь\eof.exe", ...
Также можно писать просто имя ехе-ника, положив его в системную директорию.
Но мне, чесно говря, это не совсем удобно. Я делал так. Создал на диске отдельную папку, бросил в нее программу, и добавил в переменные среды путь к этой папке. Тогда достаточно писать просто имя ехе-шника
Мне это еще удобно тем, что я частенько люблю писать себе утилиты, требующие быстрого доступа из командной строки + не мусорятся системные папки. У меня там уже собрались 9 утилит

Примечание 2.
По поводу инсталлятора. Написать конечно можно, то не проблема. Но у меня займет больше времени его писать, чем вам вручную поправить один файлик.
Дать свой файл меню тоже не буду, так как Опера у меня сильно перестроенная, особенно что касается меню и панелей.

Эт кажись все.

пс. выложил архив с обновлением. Воно касается окна - добавлена иконка и убрано с панели задач.
А были ли исправления по коду... не помню, блин

Re: Opera to FlashGet redirector elGeminy  01/23/07 07:32 PM

Если кому интересно.
Случайно нашел баг - через третьи руки - тулза неправильно интерпретировала адрес ссылки, если она начиналась со слеша.
Выкладываю именно из-за исправления, ибо нехорошо оставлять что-то без фикса. Какие были добавления, вспоминать сейчас не буду.


MyOpera.net - Home


Rambler's Top100