Как я могу скопировать изображения слайд-шоу nytimes.com в буфер обмена?

57

Слайд-шоу на веб-сайте New York Times, кажется, использовали некоторую хитрость, чтобы * вызвать правый щелчок в Firefox (и IE / Chrome), а затем "просмотреть изображение" или "скопировать изображение", чтобы получить 1 x 1 пиксель. Изображения также не будут печататься.

Как я могу обойти этот короткий снимок экрана? Бонусные баллы за описание, как они это сделали.

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

Если это слайд-шоу, это может быть вовсе не обман. Многие решения для слайд-шоу возможны, только если изображение находится в фоновом режиме с помощью CSS из-за возможности обрезки в X-браузере. И 1x1 пиксель используется для определения размера обрезки.

glenviewjeff
источник
2
Я
отправил
8
@ Люк Это неосуществимо, и я не должен это делать. Это легко подпадает под принципы справедливого использования авторских прав.
glenviewjeff
4
Как именно вы предлагаете бонусные баллы?
Дэйв
1
@DaveRook Баунти? Вы никогда не узнаете, пока не попробуете ...
glenviewjeff
1
Я не указал цель копирования изображения; и я не должен. Вероятно, существует бесконечное число случаев добросовестного использования для копирования изображения в буфер обмена компьютера или его печати. Например; распечатайте его и прикрепите к лбу вашего ребенка.
glenviewjeff

Ответы:

82

New York Times создает <div>элемент, содержащий растянутое и прозрачное однопиксельное изображение, и размещает реальное изображение на заднем плане:

<div class="centeredElement" style="background-image:url('http://graphics8.nytimes.com/images/2011/09/21/dining/20110921-ROSH-slide-CBSF/20110921-ROSH-slide-CBSF-slide.jpg');width:600px; height:400px;">
<img width="600" height="400" src="http://graphics8.nytimes.com/images/misc/pixel.gif" />
</div>

Чтобы сохранить изображение:

  1. Щелкните по нему правой кнопкой мыши.
  2. Нажмите Просмотр информации об изображении .
  3. Выберите реальное изображение (одно над однопиксельным изображением).
  4. Нажмите Сохранить как ... .

Как распечатать страницу:

  1. Нажмите Ctrl+ P.
  2. Войдите на вкладку « Параметры ».
  3. Проверьте печать фоновых изображений .
  4. Нажмите Печать .
Деннис
источник
4
Кажется глупым с их стороны думать, что подобная хитрость не позволит пользователям делать снимки.
Элиот Болл
51
@EliotBall Я был бы шокирован, если бы у него не было> 95% успеха. Большинство пользователей интернета не были технически грамотны с 90-х годов.
Дэн Нили
11
Кроме того, не так много преимуществ, чтобы сделать его более сложным. Разрыв между теми, кого останавливает что-то тривиальное, и теми, кто может использовать свои инструменты браузера adblock / webdev, чтобы выяснить, как можно бесплатно извлечь изображение, или способен спрашивать и следовать указаниям кого-то другого, кто может очень маленький Между тем добавление всех дополнительных материалов на страницу замедляет загрузку и рендеринг, что раздражает всех.
Дэн Нили
9
@EliotBall Если это было так очевидно, то почему этот вопрос на SuperUser? Теперь учитывайте, сколько людей никогда не услышат о SuperUser…
MattiSG
5
@DanNeely - « Вечный сентябрь » начался в 1993 году.;)
BryanH
49
  1. Используйте плагин AdBlockPlus, щелкните правой кнопкой мыши по изображению и заблокируйте его (выберите последний вариант «custom ... pixel.gif»). Отныне, обновив страницу один раз, вы сможете щелкнуть правой кнопкой мыши по изображению и выбрать «просмотреть фоновое изображение» и вуаля!

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

  2. С плагином Firebug под Firefox или с опцией встраивания в Chrome выберите «проверить элемент». Затем вы увидите HTML-код, указывающий на тег img с помощью src на хитрый pixel.gif. У div, содержащего его, правильное изображение установлено в качестве фона. Просто скопируйте URL-адрес изображения из стиля элемента div (background-image: url), и все готово.

Topr
источник
Мне больше нравится ваше решение, но я принял @ Денниса из-за объяснения.
glenviewjeff
Я тоже хотел объяснить, но в спешке возникли проблемы с вставкой примера HTML-кода, так что, наконец, его пропустили. Ну, может в следующий раз я получу зеленую букву "V". Самый важный мой ответ полезен для вас :)
'14
+1, это ( с помощью АВР) является именно то , что я делаю, а в подобных ситуациях.
Каран
1
Браузер оперы может блокировать что угодно без плагина. Что касается AdBlock, пожалуйста, используйте белый список для сайтов, которые вам нравятся, им нужны деньги от рекламы.
Ману
1
В @manu Opera добавила встроенную блокировку на основе DOM, или вам все еще нужен плагин для чего-то кроме URL-фильтров?
Дэн Нили,
17

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

  • Или:
    • Щелкните правой кнопкой мыши на странице -> View Page Info.
    • Выберите Tools-> Page Infoв строке меню.
  • Выберите Mediaвкладку в всплывающем окне.
  • Найдите изображение, которое вы ищете, и нажмите Save asкнопку. Сортировка мультимедиа по размеру обычно помогает быстрее получить изображение, которое вы ищете.

светлячок-страничный-инфо

Этот метод будет работать со слайд-шоу NY Times. Тем не менее, это наиболее удобно с:

  1. Страницы, которые содержат несколько изображений, которые вы хотите скачать. Вы можете выбрать несколько файлов из списка мультимедиа и сохранить их все одним щелчком мыши Save as.
  2. Страницы с глупыми ограничениями при щелчке правой кнопкой мыши (например, слайд-шоу IMDB ). Этот метод избавляет вас от необходимости отключать, а затем повторно включать JavaScript.
M000
источник
4
Это вкусная курица.
Рассел Борогове
2
@RussellBorogove, почему вы думаете, что я хотел напечатать это?
glenviewjeff
15

Щелкните правой кнопкой мыши и выберите элемент проверки в Chrome. Теперь скопируйте URL в фоновом изображении поля

Что дает мне фактическую ссылку

http://graphics8.nytimes.com/images/2011/09/21/dining/20110921-ROSH-slide-CBSF/20110921-ROSH-slide-CBSF-slide.jpg

введите описание ссылки здесь

HackToHell
источник
Это именно то, что я делаю. Чувствуется, что ему не хватает изящества, но оно работает, быстро и просто. Хороший выбор изображения тоже: (оригинал) грузинская курица с тамариндом на праздники! Yum!
Элли Кессельман
6

Если это слайд-шоу, это может быть вовсе не обман. Многие решения для слайд-шоу возможны, только если изображение находится в фоновом режиме с помощью CSS из-за возможности обрезки в X-браузере. И 1x1 пиксель используется для определения размера обрезки.

Другие уже ответили, как скачать такую ​​картинку. Я просто хотел пролить немного света на эту тему, а не собирать награды.

Ура!

ljgww
источник
Вы, кажется, совершенно правильно ! Забавно, что многие из нас оказались втянутыми в ложные намерения. Редактирование вопроса и тегов.
glenviewjeff
Это был ответ программиста javascript (тот, который крадется на том, что делают веб-дизайнеры);) Спасибо за очки :)
ljgww
3

Я бы просто использовал букмарклет JavaScript, чтобы заменить фиктивное изображение реальным, а затем вы можете просто сохранить его или перетащить на рабочий стол.

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

javascript: var div = document.getElementsByClassName('image')[0]; var url = div.getElementsByClassName('centeredElement')[0].style.backgroundImage.replace(/^url\("|"\)$/g, ''); div.getElementsByTagName('img')[0].src = url; void(0);

Это будет работать только на этом сайте, и только тогда, когда у них установлен HTML, как они делают прямо сейчас.

davestewart
источник
2

Используйте Chrome, щелкните правой кнопкой мыши по изображению, выполните проверку элемента. Игнорируйте тег изображения и найдите фоновый URL для div, который дает вам истинный путь к изображению, который вы можете скопировать, загрузить в новую вкладку и сохранить

Роб Коуэлл
источник
1
Например, на основе вашей ссылки в вопросе: - graphics8.nytimes.com/images/2011/09/21/dining/…
Роб Коуэлл
2

Вот общее решение, которое должно работать на любом сайте.

Установите и запустите Fiddler . Перейдите на сайт с изображением.

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

dotnetengineer
источник
Для этого вам не нужен Fiddler, браузеры также предлагают эту информацию (см. Некоторые ответы выше). Воробьи и пушки.
Конрад Рудольф
1
Решение Fiddler будет работать со ВСЕМИ браузерами, и даже если ресурсы загружаются через flash или какой-либо другой встроенный объект, если они загружаются через HTTP или HTTPS. С Fiddler процедура выполняется одинаково, каждый раз. В противном случае процедура немного отличается в зависимости от веб-сайта или браузера. Я не говорю, что это самое простое решение, просто хорошая универсальная альтернатива.
dotnetengineer
Ваше упоминание о Flash-ресурсах на самом деле довольно хорошее замечание.
Конрад Рудольф
2
Добавление большего количества программного обеспечения не требуется, это значительно увеличивает сложность того, что должно быть простым процессом. Fiddler также является инструментом для программистов, а не для обычных компьютерных пользователей.
Джефф Этвуд
@JeffAtwood: Хотя я согласен с вашим утверждением, что это (во многих случаях) будет ненужным увеличением сложности, но это не отменяет того факта, что использование промежуточного прокси-сервера в некоторых случаях может быть единственным разумным способом захвата этого контента. ,
dotnetengineer
1

Нажмите PrtScrn, откройте программу рисования, вставьте.

Если вы используете Windows: только для захвата активного окна: Alt+ PrtScrn, если Vista или выше, вы можете использовать инструмент для разрезания только для захвата выбора.

markmnl
источник
Это самое общее решение из всех, и причина, по которой в браузере никогда не будет решения для «кражи» изображений.
UncleZeiv
1
На самом деле, это боль, если изображение охватывает разрешение, большее, чем может отобразить ваш монитор - все еще выполнимо, но становится утомительным.
Томас
Из ОП: «Как я могу обойти этот короткий снимок экрана
glenviewjeff
извинения - я прочитал «короткий» как «сортировать», а затем предположил, что вы говорили о «[профилактической] захвате экрана [технологии]».
Markmnl
1

Все изображения, которые вы видите в вашем браузере, хранятся в кеше где-то на вашем жестком диске. Вы можете использовать инструмент для кеширования, чтобы извлечь изображения после просмотра. И не нужно экономить по одному. Одним из инструментов, которые вы можете использовать, является cacheCopy . Позволяет выбрать браузер, выбрать кеш. Насколько большие (размер файла или разрешение) изображения вы хотите сохранить. А также позволяет вам дать вашим файлам правильное имя.

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

Отказ от ответственности: это бесстыдная вилка. Я автор этого приложения.

trailmax
источник
эм .. для любой цели. Первоначально создан для захвата flickr
trailmax
0

В общем: Chrome / Инспектировать элемент / вкладка Ресурсы / Кадры / Единственный кадр на странице / Изображения. В мире нет хитрости, которая могла бы скрыть изображение из этого списка.

СНХ
источник