Как скачать контент с сайта, не засоряя браузер плагинами.
Порой возникает ситуация, когда нужно скачать музыку/видео/картинку с сайта, а заветной кнопки «Скачать» на странице нет.
Для популярных сайтов, вроде ВК и ютуба, эта проблема остро не стоит, для них имеется куча разных программ, плагинов или сайтов, дающих вам возможность скачать нужный контент. Но как быть с не столь популярными сайтами, для которых найти плагины почти нереально??
Способ есть! И что самое главное, ничего скачивать и устанавливать не надо, все делается стандартными средствами браузера.
Я не мастер словоблудия, поэтому учиться будем на примерах.
(формат поста: сначала описание картинки, потом — сама картинка)
1. Заходим на страницу с видео, кликаем правой кнопкой мыши, в появившемся меню выбираем пункт «Просмотреть код элемента».

2. В появившемся окне выбираем вкладку «Network».

3. Затем выбираем вкладку «Media».

4. Перезагружаем страницу и запускаем видео.
5. Выбираем в таблице нужный нам файл (у меня он один, но бывает и несколько, тогда следует немного подождать, и выбрать файл с наибольшим объемом (объем файла указан в пункте «Size»)) и делаем двойной клик по нему.

6. Откроется новая вкладка с плеером, нажимаем кнопку «Скачать» и наслаждаемся видом загрузки))

Пример 2. Музыка.
1. Повторяем пункты 1 — 4 из первого примера.
2. Запускаем воспроизведение нужного трека, и делаем двойной клик на файле с наибольшим объемом, затем повторяем пункт 6 из первого примера.

Пример 3. Картинка.
Чтобы не было глупых вопросов, поясню: не на всех сайтах можно сохранить картинку через контекстное меню, на некоторых оно либо урезано, либо заблокировано совсем.
1. Повторяем пункты 1 — 2 из первого примера.
2. Выбираем вкладку «Img».

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

5. В открывшейся вкладке кликаем правой клавишей мыши по картинке, и выбираем в контекстном меню пункт «Сохранить изображение как. «.

6. Сохраняем картинку.
P. S.: Все действия проводились на Опере v.50, за работоспособность этого способа на других браузерах я не ручаюсь.
5 лет назад
Ну удачи вам с потоковым контентом
раскрыть ветку
5 лет назад
уважаемый мамкин хакирь, специально от таких как вы видосы режут на кусочки и с ютуба ты так не скачаешь
пс: шучу, не специально а для оптимизации
раскрыть ветку
5 лет назад
Для Хрома — Flash Video Downloader
Для Мозилы — FlashGot
раскрыть ветку
5 лет назад
С потоковым видео такое не прокатит, плюс есть всякие защищенные плееры на подобии netu.tv, которые в плеер вставляют кучу всякого мусора, который затрудняет поиск потока.
Так, что НЕ с любого сайта.
5 лет назад
чет с ютобом у меня не прокатило
раскрыть ветку
Похожие посты
1 месяц назад
Девушка демонстрирует способы освободить связанные изолентой или зажимом руки
Мало ли пригодится в жизни.
Взято из сети.
Поддержать
8 месяцев назад

Ещё один вариант
Поддержать
1 год назад
Как купить билет на поезд, если билетов нет совсем. 3 проверенных способа
Бывают случаи, когда вам нужно ехать в другой город: по работе, на свадьбу, юбилей и т.д. Забегались, забыли, билеты не купили. Что делать, если билетов нет от слова Совсем. Да, на вашу дату осталось, пару билетов СВ по цене, как ваша месячная зарплата. Что делать? Вы не можете не ехать.
Сохраните в закладки, чтобы не потерять.
Отказные билеты.
Заходить на сайт РЖД каждые 10 минут. Во-первых есть много нюансов, когда снимается дополнительная бронь и появляются билеты, за 3 суток, за сутки, за 3 часа и т.д. Плюс кто-то может сдать билет.
Некоторые направления настолько популярны, например Минск-Москва, что уже в ноябре люди начинают покупать билеты на Новый год, причем в обе стороны. Тем более 10 дней праздничных дней в России сделают свое дело. Попробуйте найти билеты на 30 декабря, скорее всего их почти не осталось.
Второй способ- можно поделить ваш путь на части. Самый работающий метод.
Сейчас расскажу подробнее. Например, вы едете Москва-Минск. Билетов нет, совсем никаких. Вы смотрите маршрут поезда, который вам нужен. Какие крупные города проезжает поезд.
В нашем случае Вязьму, Смоленск. Начинаете смотреть билеты частями: Москва-Вязьма, Вязьма-Смоленск, Смоленск-Минск и т.д. Да это не очень удобно, старайтесь , чтобы места были в одном вагоне. То есть до Вязьмы вы едете на месте 21, дальше 45. Впринципе ничего страшного) Только у проводников иногда вызывает удивление.
Почему частями должны быть свободные места? Потому что человек, например, купил билет Москва-Вязьма, это всего 3 часа от Москвы, дальше это место до самого Минска будет свободно, а вы в итоге не можете уехать.
Допустим вы нашли билет Вязьма-Минск, теперь ваша задача добраться из Москвы до Вязьмы. Ищите билет в этом же вагоне или хотя бы поезде. Если вообще ничего нет, смотрите билет на другой поезд. Да, это не удобно! Пересаживаться, иногда ночью, на другой поезд! Но речь о ситуациях, когда вам надо быть завтра на свадьбе свидетельницей, и вы не можете сказать подруге:
-Извини, не было билетов, я не приеду!
К тому же до этого ближайшего города, например, Вязьмы, вы можете добраться на электричке, скоростной Ласточке за 2 часа, на автобусе, вас может довезти муж на машине.
Третий способ — смотреть билеты на начало следующего дня.
Допустим впереди 3-4 праздничных дня и вы упорно ищите билеты на пятницу вечер. Ничего нет. Всем надо ехать.
А теперь попробуйте посмотреть на субботу, после 0.00 часов. И там кстати довольно много поездов, на час ночи, на 3.00. Вот как раз на поезда глубокой ночью могут быть билеты, потому что не каждый сможет добраться. Плюс на утро скорее всего будут билеты, да, потом полдня ехать, может немного опоздаете на торжество. Но вы приедете!
Вывод- выход с покупкой билетов есть всегда! Да, способы не очень удобные, но не пешком же вам идти.
Забронировать билет на поезд онлайн:
Сервисы бронирования жилья:
Суточно (квартиры, комнаты, отели и апартаменты),
Как скачать все картинки с сайта с#?
Привет! Подскажите, как можно скачать все картинки с сайта? Я понимаю, как сделать так, что бы можно было скачать одну картинку.Нашел код на этом сайте и здесь все понятно.
class Program < static void Main(string[] args) < WebClient client = new WebClient(); Uri uri = new Uri(""); client.DownloadFileAsync(uri, "picture.jpg" ); Console.WriteLine("Картинка скачана"); Console.Read(); >>
А как сделать, что бы можно было скачать все картинки, например, с сайта инстаграмм. Я думаю, что нужно создать массив и все картинки заносить в него и код выше заключить либо в в foreach, или что-то типо
for (int i = 1; i
Но как определить все картинки на сайте?
Отслеживать
задан 26 ноя 2016 в 12:51
55 1 1 серебряный знак 6 6 бронзовых знаков
client.DownloadFileAsync(uri, «picture.jpg» ); без ожидания не очень правильно.
26 ноя 2016 в 14:14
А что значит все картинки? всё содержимое тегов img? или также содержимое свойства CSS background-image ?
26 ноя 2016 в 21:05
@VadimOvchinnikov Только фотографии, например
26 ноя 2016 в 22:32
@dreenline: Ого, а как вы предлагаете отличать фотографию от просто элемента дизайна?
26 ноя 2016 в 23:20
@VladD Собственно, в том и вопрос:) Как определить все фотографии на сайте и вообще, возможно ли это. Я новичок, поэтому, возможно, мои вопросы могут показаться довольно глупыми
27 ноя 2016 в 0:03
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
В вопросе не указано какого-либо конкретного сайта, поэтому отвечу и предложу технику, которая подойдёт для любого сайта.
В задаче используется решение только для картинок атрибуте src тэга img , но решение на данной основе также возможно и для картинок в background-image . Оно сложнее, но также возможно. Для Javascript обращений для простоты используется jQuery, предполагая, что на целевом сайте он тоже есть. Но это может быть также чистый JavaScript либо другая библиотека при условии, что эта библиотека используется на сайте.
Используйте библиотеку CefSharp для решения подобных задач.
Что это такое?
Это управляемая оболочка над CEF (Chromium Embedded Framework). То есть Вы получаете мощь Chromium, которой управляете программно.
Почему именно CEF/CefSharp?
- Не стоит заморачиваться парсингом страниц (а это сложная и неблагодарная задача, которую крайне не рекомендую делать).
- Можно работать с уже загруженной страницей (после выполнения скриптов).
- Есть возможность выполнять произвольный JavaScript с последними возможностями.
- Даёт возможность вызывать AJAX с помощью JavaScript, а затем при успехе (success), дёргать события в C#-коде с результатом AJAX.
Разновидности CeSharp
- CefSharp.WinForms
- CefSharp.Wpf
- CefSharp.OffScreen
Первые две используются если вам надо дать пользователям элемент управления «Браузер». Концептуально похоже на WebBrowser в Windows Forms, который является оболочкой для управления IE, а не Chromium, как в нашем случае.
Поэтому мы будем использовать CefSharp.OffScreen (закадровую) разновидность.
Написание кода
Допустим у нас консольное приложение, но это уже зависит от Вас.
Устанавливаем Nuget-пакет CefSharp.OffScreen 51-ой версии:
Install-Package CefSharp.OffScreen -Version 51.0.0
Дело в том, что C# всё массивы маппает к List , результат JavaScript обёрнут в object , в котором уже содержатся List , string , bool , int в зависимости от результата. Для того чтобы сделать результаты строго типизированными, создаём небольшой ConvertHelper:
public static class ConvertHelper < public static T[] GetArrayFromObjectList(object obj) < return ((IEnumerable)obj) .Cast() .ToArray(); > public static List GetListFromObjectList(object obj) < return ((IEnumerable)obj) .Cast() .ToList(); > public static T ToTypedVariable(object obj) < if (obj == null) < dynamic dynamicResult = null; return dynamicResult; >Type type = typeof(T); if (type.IsArray) < dynamic dynamicResult = typeof(ConvertHelper).GetMethod(nameof(GetArrayFromObjectList)) .MakeGenericMethod(type.GetElementType()) .Invoke(null, new[] < obj >); return dynamicResult; > if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) < dynamic dynamicResult = typeof(ConvertHelper).GetMethod(nameof(GetListFromObjectList)) .MakeGenericMethod(type.GetGenericArguments().Single()) .Invoke(null, new[] < obj >); return dynamicResult; > return (T)obj; > >
Создаём класс CefSharpWrapper:
public sealed class CefSharpWrapper < private ChromiumWebBrowser _browser; public void InitializeBrowser() < CefSettings settings = new CefSettings(); // Disable GPU in WPF and Offscreen until GPU issues has been resolved settings.CefCommandLineArgs.Add("disable-gpu", "1"); //Perform dependency check to make sure all relevant resources are in our output directory. Cef.Initialize(settings, shutdownOnProcessExit: true, performDependencyCheck: true); _browser = new ChromiumWebBrowser(); // wait till browser initialised AutoResetEvent waitHandle = new AutoResetEvent(false); EventHandler onBrowserInitialized = null; onBrowserInitialized = (sender, e) =>< _browser.BrowserInitialized -= onBrowserInitialized; waitHandle.Set(); >; _browser.BrowserInitialized += onBrowserInitialized; waitHandle.WaitOne(); > public void ShutdownBrowser() < // Clean up Chromium objects. You need to call this in your application otherwise // you will get a crash when closing. Cef.Shutdown(); >public Task GetResultAfterPageLoad(string pageUrl, Func onLoadCallback) < TaskCompletionSourcetcs = new TaskCompletionSource(); EventHandler onPageLoaded = null; T t = default(T); // An event that is fired when the first page is finished loading. // This returns to us from another thread. onPageLoaded = async (sender, e) => < // Check to see if loading is complete - this event is called twice, one when loading starts // second time when it's finished // (rather than an iframe within the main frame). if (!e.IsLoading) < // Remove the load event handler, because we only want one snapshot of the initial page. _browser.LoadingStateChanged -= onPageLoaded; t = await onLoadCallback(); tcs.SetResult(t); >>; _browser.LoadingStateChanged += onPageLoaded; _browser.Load(pageUrl); return tcs.Task; > public async Task EvaluateJavascript(string script) < JavascriptResponse javascriptResponse = await _browser.EvaluateScriptAsync(script); if (javascriptResponse.Success) < object scriptResult = javascriptResponse.Result; return ConvertHelper.ToTypedVariable(scriptResult); > throw new ScriptException(javascriptResponse.Message); > >
Далее вызываем наш класс CefSharpWrapper из метода Main.
public class Program < private static void Main() < MainAsync().Wait(); >private static async Task MainAsync() < CefSharpWrapper wrapper = new CefSharpWrapper(); wrapper.InitializeBrowser(); string[] imageUrls = await wrapper.GetResultAfterPageLoad("https://yandex.ru", async () =>await wrapper.EvaluateJavascript("$('img').map((index, element) => $(element).prop('src')).toArray()")); string imageFolder = "C://Test"; if (!Directory.Exists(imageFolder)) < Directory.CreateDirectory(imageFolder); >WebClient client = new WebClient(); for (int i = 0; i < imageUrls.Length; i++) < string imageUrl = imageUrls[i]; byte[] fileBytes = await client.DownloadDataTaskAsync(imageUrl); // Можете написать алгоритм позволяющий подбирать расширения string imagePath = Path.Combine(imageFolder, i + ".jpg"); File.WriteAllBytes(imagePath, fileBytes); >wrapper.ShutdownBrowser(); > >
Отслеживать
11.5k 8 8 золотых знаков 42 42 серебряных знака 69 69 бронзовых знаков
ответ дан 27 ноя 2016 в 6:50
Vadim Ovchinnikov Vadim Ovchinnikov
9,644 4 4 золотых знака 35 35 серебряных знаков 72 72 бронзовых знака
- скачиваешь страницу целевого сайта;
- парсишь (вся загвоздка в этом, хе-хе) эту страницу в поисках всех ссылок на нужные картинки, сохраняешь все ссылки в список;
- проходишь в цикле по этому списку и выкачиваешь все нужные картинки. P.S. некоторые сайты имеют так называемый API: в ответ на запрос к сайту отдают xml или json формате информацию, с которой гораздо проще работать, чем парсить страницу сайта.
Отслеживать
ответ дан 26 ноя 2016 в 14:10
9,431 2 2 золотых знака 15 15 серебряных знаков 31 31 бронзовый знак
Также напишу свой вариант решения задачи посредством AngleSharp для парсинга с помощью него HTML\CSS и построения DOM-дерева в C#.
В состав библиотеки входит как и парсер HTML\CSS (BrowsingContext, HtmlParser, CssParser), так и подключаемый JavaScript-движок Jint из пакета AngleSharp.Scripting.JavaScript, с помощью которого можно подключаться к событиям из C# и вызывать код на JavaScript из C# (хотя у меня не получилось вызвать на сайте jQuery код на нем же :), видимо, там ограничения есть).
В данном случае не учитывается необходимость авторизации, т.е. с того же инстаграма не получится все выкачать с помощью моего примера, но с главной pikabu или imgur — вполне
Если ограниться получением списка URL из свойства background-image и img.src, то код будет выглядить так:
using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using System.Threading.Tasks; using AngleSharp; using AngleSharp.Dom.Html; class WebImageElementParser < private readonly IBrowsingContext _context; public WebImageElementParser() < //AngleSharp BrowsingContext _context = BrowsingContext.New(new Configuration().WithDefaultLoader().WithCss().WithJavaScript()); >public async Task> GetImageUrlsAsync(string siteUrl) < var documentResult = await _context.OpenAsync(siteUrl); //ищем у всех элементов DOM-дерева свойство background-image и берем его значение var backgroundImagesUrls = documentResult.QuerySelectorAll("*") .Where(htmlElement =>!String.IsNullOrWhiteSpace(htmlElement.Style.BackgroundImage)) .Select(htmlElement => htmlElement.Style.BackgroundImage) //url(\"http://s8.pikabu.ru/video/2016/11/27/7/1480245149289358252.jpg\") .Select(styleValue => Regex.Match(styleValue, "\\\"(?.*)\\\"")) //http://s8.pikabu.ru/video/2016/11/27/7/1480245149289358252.jpg .Where(regex => regex.Success) .Select(regex => regex.Groups["url"].Value); var imgElementUrls = documentResult.Body.QuerySelectorAll("img").Cast().Select(img => img.Source); return imgElementUrls.Union(backgroundImagesUrls).ToList(); > >
Также написал для примера вариант того, как все полученные изображения скачивать по найденым URL-ам (если в нем, URL, присутствует расширение файла), сохранять их, сгруппировав их по наименованию хоста:
using System; using System.IO; using System.Net.Http; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Test < class WebImageDownloader : IDisposable < private readonly HttpClient _httpClient = new HttpClient() < Timeout = TimeSpan.FromSeconds(30) >; public async Task SaveImageAsync(string imageUrl) < try < Uri imageUri; //нам же ведь надо достучаться до ресурса? :) if (Uri.TryCreate(imageUrl, UriKind.Absolute, out imageUri)) < using (HttpResponseMessage imageResponse = await _httpClient.GetAsync(imageUri)) < // HTTP result != 200 OK ->HttpRequestException imageResponse.EnsureSuccessStatusCode(); using (Stream imageStream = await imageResponse.Content.ReadAsStreamAsync()) < await SaveImageAsync(imageUri, imageStream); >> > else < //обрабатываем неверные url Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($"Not an absolute URI: "); Console.ForegroundColor = ConsoleColor.Gray; > > catch (HttpRequestException e) < //обрабатываем ошибки запросов Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($": "); Console.ForegroundColor = ConsoleColor.Gray; > > private async Task SaveImageAsync(Uri imageUri, Stream imageStream) < /*берем Path сегмент (https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) и пытаемся вычленить из него последнюю часть ресурса(до слеша) и его расширение https://i.stack.imgur.com/pnAAg.jpg?s=32&g=1 ->/pnAAg.jpg (path) -> pnAAg.jpg (regexp) */ Match fileExtensionMatch = Regex.Match(imageUri.AbsolutePath, @"(?!/)[\w\d]+\.\w+", RegexOptions.RightToLeft); if (fileExtensionMatch.Success) < //создаем дерикторию для данного хоста картинки, чтобы хоть как-то их сгруппировать string imageDirectory = Path.Combine(Environment.CurrentDirectory, $"Images_"); if (!Directory.Exists(imageDirectory)) Directory.CreateDirectory(imageDirectory); string fileName = fileExtensionMatch.Value; string fullPathForFile = Path.Combine(imageDirectory, fileName); using (FileStream newFile = File.Create(fullPathForFile)) < await imageStream.CopyToAsync(newFile); Console.WriteLine($"----> "); > > else < //обрабатываем отсутствие расширения у файла Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine($"No match for file name and extension in URL "); Console.ForegroundColor = ConsoleColor.Gray; > > public void Dispose() < _httpClient.Dispose(); >> >
Метод Main консольного приложения:
using System.Threading.Tasks; namespace Test < class Program < static void Main(string[] args) < LoadImages().Wait(); >static async Task LoadImages() < var imageLoader = new WebImageElementParser(); var urls = await imageLoader.GetImageUrlsAsync("https://imgur.com/"); using (var loader = new WebImageDownloader()) < foreach (var url in urls) < await loader.SaveImageAsync(url); >> > > >
Лайфхак: как скачать SVG изображение с сайта
Возможно, вам когда-нибудь нужно было скачать изображение с сайта. И в большинстве вариантов сделать это проще простого. Нужно лишь нажать в браузере правой кнопкой по изображению и нажать «Сохранить картинку как».

Но что делать если svg-изображение встроено непосредственно в код сайта(svg inline) и просто скачать его не получается?
Вот как это выглядит:

Казалось бы скачать svg-изображение уже не представляется возможным, но есть один способ. Для этого нужно найти код изображения, которое вы хотите скачать. В браузере (у меня Chrome) нажимаем правой кнопкой и выбираем «Просмотреть код». Находим код нашей svg-картинки и копируем.

Далее нужно создать в обычном блокноте текстовый документ (txt) и вставить код svg-изображения в документ. Дальше нажимаем на «Сохранить как» и в расширении файла вместо .txt пишем .svg, после чего сохраняем. То есть, нужно чтобы вместо названиефайла.txt получилось названиефайла.svg.

Сохраняйте. Готово! Теперь полученное изображение можно использовать как обычный svg-файл.
Как сохранить картинку или фотку
При использовании компьютера в повседневной жизни часто возникает ситуация, когда мы хотим сохранить фотографию или картинку из Интернета себе на компьютер. Но как это сделать?!
Картинка в Интернете может быть сохранена в любом из случаев, даже когда содержимое сайта защищено от копирования или заблокирована правая кнопка мыши. В этом уроке Вы узнаете и научитесь сохранять любые картинки и фотографии из Интернета.
: сохранить фотку или картинку с сайта, скопировав ее себе на компьютер.
: любой Интернет браузер
- обычное копирование и сохранение;
- копирование и сохранение картинки, которая защищена от копирования или нет пункта «Сохранить картинку как. »;
- копирование и сохранение картинок с сайтов, где отключена правая кнопка мыши.
Это основные трудности, с которыми Вы можете столкнуться при сохранении картинки или фотографии из Интернета.
В этом уроке, для примера, будет использован интернет-браузер Google Chrome. В других браузерах принцип может быть похожим.
Обычное копирование картинки с сайта
К примеру, у нас есть сайт, на странице которого мы хотим скопировать картинку себе на компьютер:

Рис. 1. Картинка, которую нужно сохранить на компьютер
Для того, чтобы сохранить её себе на компьютер, кликаем по картинке правой кнопкой мыши. После этого появится всплывающее окно. После этого кликаем левой кнопкой мыши по пункту «Сохранить картинку как. »:

Рис. 2. Кнопка сохранения картинки на компьютер
После нажатия на кнопку «Сохранить картинку как. » откроется диалоговое окно, в котором необходимо выбрать путь (папку) куда мы хотим сохранить нашу картинку или фотографию с сайта. После того, как Вы выбрали место для сохранения, в этом же окне, кликаем левой кнопкой мыши по кнопке «Сохранить».
Теперь картинка или фотография сохранена на Ваш компьютер. На этом способ «Обычное копирование картинки с сайта» завершен, далее рассмотрим более сложные ситуации.
Сохранение картинки, на которой нет пункта «Сохранить картинку как. »
Данный вариант работает также и для картинок или фотографий на сайте, которые нельзя сохранить стандартным способом «Сохранить картинку как. ». Причиной этого может быть: запрет с помощью скрипта на сохранение или копирование материала, на странице сайта наша картинка сверстана как слой ( ) а не как элемент — изображение ( ).
Допустим мы хотим сохранить картинку с сайта, но при нажатии правой кнопки мыши, во всплывающем меню, нет возможности сохранить эту картинку:

Рис. 3. Элемент «Сохранить картинку как. » отсутствует в этом случае
В рассматриваемом примере картинка размещена как фоновый рисунок слоя. Чтобы сохранить эту картинку кликаем правой кнопкой мыши по нужной картинке и во всплывающем меню выбираем элемент «Просмотр кода элемента»:

Рис. 4. Элемент «Просмотр кода элемента» в Google Chrome
После нажатия по этому пункту появится дополнительное окно в котором программа сразу выделит необходимый нам элемент:

Рис. 5. Слой с картинкой или фотографией, которую необходимо сохранить
Справа, в этом окне, находится дополнительный раздел с вкладками «Style, Computed. », в нем мы можем увидеть ссылку на картинку или фотографию:

Рис. 6. Ссылка на требуемую картинку или фотографию на сайте
Далее кликаем по этой ссылке правой кнопкой мыши и выбираем пункт «Open link in new tab»:

Рис. 7. Кнопка открытия картинки в новом окне Google Chrome
После этого программа откроет новую вкладку (окно) с требуемой картинкой:

Рис. 8. Картинка, открытая в новом окне или вкладке
Теперь все что нам остается, это сохранить эту картинку или фотографию себе на компьютер. Для этого повторим действия, описанные в разделе «Обычное копирование картинки с сайта».
На этом этапе раздел «Сохранение картинки, на которой нет пункта «Сохранить картинку как. »» завершен, теперь мы умеем сохранять картинки или фотографии на сайтах, где нет кнопки для сохранения. Далее мы рассмотрим более сложный и редкий вариант: сохранение картинки или фотографии со страницы, на которой отключена правая кнопка мыши.
Сохранение фото при защите страницы от копирования
Предположим у нас есть картинка или фотография, которую мы хотим сохранить на свой компьютер:

Рис. 9. Картинка, которую мы хотим сохранить
По уже наработанной процедуре мы кликаем по ней правой кнопкой мыши с целью сохранить ее, но в результате у нас не появляется всплывающее меню с основными операциями копирования, печати и прочих полезных действий. Существует способ 100% копирования картинок или фотографий с таких страниц сайта.
Как и было описано выше, для этого урока используется браузер Google Chrome и все примеры будут приводиться исходя из особенностей именно этого браузера. В других современных браузерах есть примерно похожие возможности. В этом уроке Вы поймете логику решения этой задачи, даже если у Вас другой браузер.
Для начала копирования картинки с защищенной страницы нажмём клавишу на клавиатуре «F12». После нажатия на эту клавишу нам откроется дополнительное окно, именуемое как «Инструменты разработчика»:

Рис. 10. «Инструменты разработчика» браузера Google Chrome
Далее в этом инструменте находим вкладку «Network» и кликаем по ней левой кнопкой мыши, содержимое вкладки изменится:

Рис. 11. Вкладка инструмента «Network» браузера Google Chrome
После этого, чтобы было проще найти нужную нам картинку, кликаем по иконке с изображение воронки («Filter»), после этого нам станет доступным строка для сортировки элементов на странице:

Рис. 12. Кнопка фильтрации элементов браузера Google Chrome
Теперь нам необходимо девой кнопкой мыши кликнуть по кнопке «Images», чтобы в поле ниже отображались только картинки и фотографии:

Рис. 13. Кнопка «Images» для фильтрации изображений на странице
Наш фильтр готов для того, чтобы найти и сохранить на компьютер нужную нам картинку. После этого необходимо обновить страницу сайта (клавиша «F5» на клавиатуре). После того как страница обновилась, в поле «Network» появятся данные о загружаемых картинках:

Рис. 14. Во вкладке «Network» отображаются все картинки на текущей странице
В этом списке, полистав его вверх и вниз колесиком мыши, мы найдем нашу картинку в уменьшенном варианте:

Рис. 15. В общем списке находим нашу картинку
Теперь все что нам остается, это открыть эту картинку в новом окне, чтобы сохранить её себе на компьютер. Для этого нажимаем правую кнопку мыши на имени этой картинки (имя картинки показано справа от миниатюры) и во всплывающем меню выбираем «Open link in new tab»:

Рис. 16. В общем списке находим нашу картинку
После нажатия на эту кнопку нам откроется новое окно с картинкой, которую мы хотели сохранить:

Рис. 17. Нужная картинка в новой вкладке
Далее осталось только выполнить обычные действия по сохранению этой картинки, которые мы описали выше в разделе «Обычное копирование картинки с сайта».
Теперь сохранить картинку или фотографию с сайта не составит для Вас особого труда. С этого момента Вы знаете как минимум три способа решения этой задачи, которая встречается в повседневном использовании компьютера.
Также не забывайте, что не следует злоупотреблять копированием картинок или фотографий с сайтов, так как у каждого рисунка или фотографии может быть автор и они обладают авторскими правами.
На этом урок «Как сохранить картинку или фотку» завершён, рекомендуем для дальнейшего изучения другие интересные уроки из разделов «JPG файлы», «Google Chrome»
Если вам понравился данный урок расскажите о нём своим друзьям в социальных сетях, чтобы они тоже смогли узнать и научиться. Для того, чтобы поделиться с друзьями воспользуйтесь ссылками социальных сетей ⇩