Поиск по картинке в Яндекс или Гугл через контекстное меню проводника Windows
|
Переношу в скрипты, пусть ломают голову, может, веб запрос пошиком сервису придумают...
|
Up 2018
Никто не нашел решения случаем?
Нашел такие скрипты:
Установить пункт контекстного меню.cmd
Код:
@set @x=0; /*
@echo off
SetLocal EnableExtensions DisableDelayedExpansion
set "live=%USERPROFILE%"
REG ADD "HKCR\AllFilesystemObjects\Shell" /f >nul 2>&1 || if "%~2" neq "Admin" (
echo Для установки надстройки требуются повышенные права.
cscript.exe //nologo //e:jscript "%~f0"& Exit /B) else (echo Вы не обладаете необходимыми привилегиями& pause& Exit /B
)
:begin
cls
echo. Введите цифру и нажмите { ENTER }
echo.
echo. Установить:
echo.
echo 1. Поиск в Google
echo 2. Поиск в Yandex
echo.
set /p "ch=Ваш выбор: "
::Первая часть VBS
for /f "delims=[]" %%N in ('find /n ":UnpackVBS" ^<"%~f0"') do set /a num=%%N
more +%num% >"%live%\KozaN.vbs" <"%~f0"
::Вторая часть VBS
if "%ch%"=="1" (
set VerbName=Найти в "Google"
>> "%live%\KozaN.vbs" echo CreateObject^("WScript.Shell"^).Run "explorer ""https://google.ru/search?ie=UTF-8&hl=ru&q=" ^& Arg ^& """"
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /v Icon /t REG_SZ /d "%USERPROFILE%\google.ico" /f
1>nul copy "%~dp0google.ico" "%USERPROFILE%" /y
)
if "%ch%"=="2" (
set VerbName=Найти в "Яндекс"
>> "%live%\KozaN.vbs" echo CreateObject^("WScript.Shell"^).Run "explorer ""http://yandex.ru/yandsearch?text=" ^& Arg ^& """"
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /v Icon /t REG_SZ /d "%USERPROFILE%\yandex.ico" /f
1>nul copy "%~dp0yandex.ico" "%USERPROFILE%" /y
)
if not Defined VerbName goto begin
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /f
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /ve /t REG_SZ /d "%VerbName%" /f
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath\command" /f
REG ADD "HKCR\AllFilesystemObjects\Shell\CopyAsPath\command" /ve /d "wscript.exe //nologo \"%live%\KozaN.vbs\" \"%%1\"" /f
echo.
echo Установка завершена.
echo.
echo "SafeZone.cc"
echo.
pause
Exit /B
*/try {
var ShellApp = new ActiveXObject('Shell.Application');
ShellApp.ShellExecute ('cmd.exe', '/c ""' + WScript.ScriptFullName + '" "" "Admin"','','runas',1);
} catch (e) { }/*
:UnpackVBS
On Error Resume Next
if WScript.Arguments.Count = 0 then WScript.Quit
Arg = WScript.Arguments(0)
Arg = Mid(Arg, InStrRev(Arg, "\") + 1)
Arg = Replace(Arg, " ", "%20")
set ShellApp = CreateObject("Shell.Application")'*/
Удаление пункта контексного меню.bat
Код:
@set @x=0; /*
@echo off
SetLocal EnableExtensions DisableDelayedExpansion
echo Удалить пункт котексного меню поиска в Яндекс/Google ?
echo.
:begin
echo 1. Да,удалить (введите цифру 1 и нажмите клавишу Enter)
echo 2. Нет,не удалять (введите цифру 2 и нажмите клавишу Enter)
echo.
set /p "ch=Ваш выбор: "
echo.
echo.
if "%ch%"=="1" (REG DELETE "HKCR\AllFilesystemObjects\Shell\CopyAsPath" /f || if "%~2" neq "Admin" (
echo Для выполнения операции требуются повышенные права.
cscript.exe //nologo //e:jscript "%~f0"& Exit /B) else (echo Вы не обладаете необходимыми привилегиями& pause& Exit /B
)
if exist "%USERPROFILE%\google.ico" (del "%USERPROFILE%\google.ico" /q) else del "%USERPROFILE%\yandex.ico" /q
cls
echo.
echo Удаление завершено.
echo Для выхода нажмите клавишу Enter
echo.
echo "SafeZone.cc"
echo.
pause > nul
Exit /B
)
if "%ch%"=="2" (echo Операция отменена,для выхода нажмите клавишу Enter
pause > nul
exit /b
)
if not Defined VerbName (echo Неверный выбор!
echo.
echo Выберите один из пунктов:
echo.
goto begin)
*/try {
var ShellApp = new ActiveXObject('Shell.Application');
ShellApp.ShellExecute ('cmd.exe', '/c ""' + WScript.ScriptFullName + '" "" "Admin"','','runas',1);
} catch (e) { }/*
:UnpackVBS
On Error Resume Next
if WScript.Arguments.Count = 0 then WScript.Quit
Arg = WScript.Arguments(0)
Arg = Mid(Arg, InStrRev(Arg, "\") + 1)
Arg = Replace(Arg, " ", "%20")
set ShellApp = CreateObject("Shell.Application")'*/
Но они добавляют в контекстное меню только поиск в Яндекс и Google. Может кто сообразит как переделать их под Яндекс.Картинки??
|
Serguei Kouzmine |
10-04-2018 03:25 2808018 |
Вложений: 1
старый пример (рабоает)
https://www.linuxquestions.org/quest...scripts-36719/
Код:
#!/usr/bin/env python
import sys
filePath = sys.argv[-1]
import requests
searchUrl = 'http://www.google.com/searchbyimage/upload'
multipart = {'encoded_image': (filePath, open(filePath, 'rb')), 'image_content': ''}
response = requests.post(searchUrl, files=multipart, allow_redirects=False)
fetchUrl = response.headers['Location']
print fetchUrl
import subprocess
subprocess.call([r'/opt/firefox/firefox', fetchUrl])
Код:
./test.py ~/Desktop/butterfly.jpg
новая документация -
https://developers.google.com/custom...ew#data_format
|
Serguei Kouzmine |
10-04-2018 03:27 2808019 |
Вложений: 1
вот скриншот
|
А как тоже самое, но для Яндекс.Картинок сделать??
|
Serguei Kouzmine |
10-04-2018 17:47 2808159 |
кстати интересно что если jpg брать из
Код:
$imageFilePath = "$($env:USERPROFILE)/Pictures/butterfly.jpg"
то возникает еще
Код:
The process cannot access the
file 'C:\Users\Serguei\Pictures\butterfly.jpg' because it is being used by another process.
-
|
Serguei Kouzmine, и какой процесс его там «держит» — не смотрели? У меня такой проблемы не возникает.
Цитата:
Цитата Sisin
А как тоже самое, но для Яндекс.Картинок сделать?? »
|
По-хорошему, надо смотреть в код всяческих дополнений для Firefox типа «Поиск по картинке» для варианта с Яндексом, и пробовать адаптировать под PowerShell.
|
Цитата:
Цитата Iska
По-хорошему, надо смотреть в код всяческих дополнений для Firefox типа «Поиск по картинке» для варианта с Яндексом, и пробовать адаптировать под PowerShell. »
|
В Opera 12 все решается добавлением в контекстное меню:
Код:
Item, "Искать на Яндекс.Картинках" = Copy image address, -2,,, "yk" & Go to page, "javascript:void(window.open('http://yandex.ru/images/search?img_url=' + encodeURIComponent('%c') + '&rpt=imageview'));"
|
Цитата:
Цитата Sisin
В Opera 12 все решается добавлением в контекстное меню: »
|
Sisin, это Вы так шутите, да? И как же при этом а) содержимое б) локального файла попадёт на сервер?
|
Цитата:
Цитата Iska
Sisin, это Вы так шутите, да? И как же при этом а) содержимое б) локального файла попадёт на сервер? »
|
Это не локальный файл, а картинка на сайте...
|
Sisin, в том-то и дело. Передаётся банальный Url, но нам-то нужно совсем, совсем другое.
|
Это то, что на предыдущей странице...
PS: Я тоже гуглить умею)
|
Время: 03:19.
© OSzone.net 2001-