Jak mogę skopiować do schowka obrazy pokazu slajdów nytimes.com?

57

Pokazy slajdów na stronie New York Timesa wydają się wykorzystywać pewne sztuczki, aby * spowodować kliknięcie prawym przyciskiem myszy w przeglądarce Firefox (i IE / Chrome), a następnie „wyświetlenie obrazu” lub „skopiowanie obrazu”, aby zwrócić piksel 1 x 1. Obrazy również nie zostaną wydrukowane.

Jak mogę ominąć ten zrzut ekranu? Punkty bonusowe za opisanie, jak to zrobili.

* W końcu Ijgww zwrócił uwagę, że prawdopodobnie nie jest to oszustwo, że zamiast tego prawdopodobnie wynika to z pewnych ograniczeń przeglądarki wymagających tego dziwnego zachowania, o czym świadczy obraz tego artykułu , w którym funkcja kopiowania, wklejania i drukowania działa poprawnie. Morał tej historii: nigdy nie zakładaj negatywnych zamiarów.

Jeśli jest to pokaz slajdów, może wcale nie być podstępem. Wiele rozwiązań pokazu slajdów jest możliwych tylko wtedy, gdy obraz jest w tle przez css ze względu na funkcje przycinania w przeglądarce x. A piksel 1x1 służy do określania wielkości plonu.

glenviewjeff
źródło
2
Chciałbym wysłać e-mail do witryny, wyjaśnić, kim jestem i poprosić o zdjęcia
Kanadyjczyk Luke REINSTATE MONICA
8
@Luke Nie jest to wykonalne i nie powinienem tego robić. To z łatwością podlega wytycznym dotyczącym dozwolonego użytku.
glenviewjeff,
4
Jak dokładnie oferujesz punkty bonusowe?
Dave
1
@DaveRook bounty? Nigdy się nie dowiesz, dopóki nie spróbujesz ...
glenviewjeff,
1
Nie podałem celu kopiowania obrazu; też nie powinienem. Prawdopodobnie istnieją nieskończone ważne przypadki dozwolonego użytku do kopiowania obrazu do schowka komputera lub drukowania. Na przykład; wydrukuj go i zszyj na czole dziecka.
glenviewjeff

Odpowiedzi:

82

New York Times tworzy <div>element zawierający rozciągnięty i przezroczysty jednopikselowy obraz i lokalizuje prawdziwy obraz w tle:

<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>

Aby zapisać obraz:

  1. Kliknij go prawym przyciskiem myszy.
  2. Kliknij Wyświetl informacje o obrazie .
  3. Wybierz obraz rzeczywisty (jeden powyżej obrazu jednopikselowego).
  4. Kliknij Zapisz jako ... .

Jak wydrukować stronę:

  1. Naciśnij Ctrl+ P.
  2. Wejdź w zakładkę Opcje .
  3. Zaznacz opcję Drukuj obrazy tła .
  4. Kliknij Drukuj .
Dennis
źródło
4
Głupio wydaje się im, że takie oszustwo uniemożliwi użytkownikom robienie zdjęć.
Eliot Ball,
51
@EliotBall Byłbym zszokowany, gdyby nie miał> 95% skuteczności. Większość internautów nie zna umiejętności technicznych od lat 90.
Dan Neely,
11
Ponadto nie ma wiele korzyści z uczynienia go bardziej złożonym. Różnica między tymi, którzy zostali zatrzymani przez coś trywialnego, a tymi, którzy są w stanie korzystać z narzędzi adblock / webdev w swoich przeglądarkach, aby dowiedzieć się, jak zgrać obraz bezpośrednio, albo są w stanie zapytać i kierować się wskazówkami od kogoś, kto może Jest bardzo mały. Tymczasem dodawanie wszystkich dodatkowych elementów do strony spowalnia pobieranie i renderowanie, co irytuje każdego.
Dan Neely,
9
@EliotBall Jeśli to było tak oczywiste, to dlaczego to pytanie dotyczy SuperUser? Teraz uwzględnij, ile osób nigdy nie usłyszy o SuperUser…
MattiSG,
5
@DanNeely - „ Eternal September ” rozpoczął się w 1993 r .;)
BryanH,
49
  1. Użyj wtyczki AdBlockPlus, kliknij obraz prawym przyciskiem myszy i zablokuj go (wybierz ostatnią opcję „niestandardowe ... pixel.gif”). Od teraz, po odświeżeniu strony, będziesz mógł kliknąć prawym przyciskiem myszy na obrazie i wybrać „zobacz obraz tła” i voila!

    Jest to najlepsza opcja, jak zrobiona tylko raz, pozwoli ci zapisywać zdjęcia z galerii zawsze bez dodatkowego wysiłku.

  2. Z wtyczką Firebug pod Firefoksem lub z opcją wbudowania w Chrome wybierz „sprawdź element”. Następnie zobaczysz kod HTML wskazujący na tag img z src na sneaky pixel.gif. Zawierająca go div ma odpowiedni obraz ustawiony jako tło. Wystarczy skopiować adres URL obrazu ze stylu elementu div (background-image: url) i gotowe.

topr
źródło
Najbardziej podoba mi się twoje rozwiązanie, ale zaakceptowałem @ Dennisa z powodu wyjaśnienia.
glenviewjeff
Chciałem też wyjaśnić, ale w pośpiechu miałem problem z wklejeniem przykładowego kodu HTML, więc w końcu go pominąłem. Cóż, może następnym razem dostanę zielone „V”. Najważniejsze, że moja odpowiedź jest dla ciebie pomocna :)
topr 13.12
+1, to (używając ABP) jest dokładnie tym , co robię również w takich sytuacjach.
Karan
1
Przeglądarka operowa może blokować wszystko bez wtyczki. Jeśli chodzi o Adblock, użyj białej listy dla stron, które lubisz, potrzebują pieniędzy z reklam.
Manu,
1
@manu ma wbudowaną blokadę Opery wbudowaną w DOM, czy nadal potrzebujesz wtyczki do czegokolwiek poza filtrami adresów URL?
Dan Neely
17

Ponieważ otagowałeś pytanie firefoxem i zaznaczyłeś jako poprawną metodę opisującą sposób zapisania obrazu, proponuję następującą alternatywę:

  • Zarówno:
    • Kliknij stronę prawym przyciskiem myszy -> View Page Info.
    • Wybierz Tools-> Page Infoz paska menu.
  • Wybierz MediaTab w wyskakującym oknie.
  • Przejdź do szukanego obrazu i kliknij Save asprzycisk. Sortowanie multimediów według rozmiaru zwykle pomaga uzyskać szybszy obraz, którego szukasz.

firefox-page-info

Ta metoda będzie działać z pokazami slajdów NY Times. Jednak najbardziej przydaje się:

  1. Strony zawierające wiele obrazów, które chcesz pobrać. Możesz wybrać wiele plików z listy mediów i zapisać je wszystkie za pomocą jednego kliknięcia Save as.
  2. Strony z głupimi ograniczeniami dotyczącymi klikania prawym przyciskiem (np. Pokazy slajdów IMDB ). Ta metoda pozwala uniknąć konieczności wyłączania, a następnie ponownego włączania javascript.
m000
źródło
4
To jakiś smacznie wyglądający kurczak.
Russell Borogove
2
@ RussellBorogove, jak myślisz, dlaczego chciałem go wydrukować?
glenviewjeff
15

Kliknij prawym przyciskiem myszy i wybierz element inspekcji w Chrome. Teraz skopiuj adres URL w polu obrazu tła

Co daje mi faktyczny link

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

wprowadź opis linku tutaj

HackToHell
źródło
Właśnie to robię. Wydaje się, że brakuje mu finezji, ale działa, jest szybki i prosty. Dobry wybór zdjęć: (oryginalny) Gruziński kurczak z tamaryndą na święta! Mniam!
Ellie Kesselman,
6

Jeśli jest to pokaz slajdów, może wcale nie być podstępem. Wiele rozwiązań pokazu slajdów jest możliwych tylko wtedy, gdy obraz jest w tle przez css ze względu na funkcje przycinania w przeglądarce x. A piksel 1x1 służy do definiowania wielkości uprawy.

Inni już odpowiedzieli, jak pobrać takie zdjęcie. Chciałem tylko rzucić nieco światła na ten temat, a nie zbierać nagrody.

Twoje zdrowie!

ljgww
źródło
Wyglądasz na całkiem poprawnego ! Zabawne, jak wielu z nas zostało wciągniętych w zakładanie złych zamiarów. Edycja pytania i tagów.
glenviewjeff
To była odpowiedź programisty javascript (taka, która podpowiada, co robią projektanci stron internetowych);) Dzięki za punkty :)
ljgww 14.09.12
3

Po prostu użyłbym skryptozakładki JavaScript, aby zastąpić fikcyjny obraz prawdziwym, a następnie możesz go po prostu zapisać lub przeciągnąć na pulpit.

Wybierz i przeciągnij poniższy kod bezpośrednio na pasek narzędzi zakładek przeglądarki, a następnie kliknij, aby uruchomić go na każdej stronie, z której chcesz wyświetlić obraz:

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);

Działa to tylko na tej stronie i tylko wtedy, gdy mają ustawiony HTML tak, jak teraz.

davestewart
źródło
2

Użyj Chrome, kliknij obraz prawym przyciskiem myszy, wykonaj Inspect Element. Zignoruj ​​tag obrazu i spójrz na div URL tła div, który daje prawdziwą ścieżkę obrazu, którą możesz skopiować, załadować do nowej karty i zapisać

Rob Cowell
źródło
1
Na przykład na podstawie linku w pytaniu: - graphics8.nytimes.com/images/2011/09/21/dining/...
Rob Cowell,
2

Oto ogólne rozwiązanie, które powinno działać na każdej stronie internetowej.

Zainstaluj i uruchom Fiddler . Przejdź do strony z obrazem.

Sprawdź przechwycony dziennik ruchu, który został przechwycony w Fiddler, a znajdziesz wszystkie obrazy, które zostały pobrane do Twojej przeglądarki.

dotnetengineer
źródło
Nie potrzebujesz do tego Fiddlera, przeglądarki również oferują te informacje (patrz niektóre odpowiedzi powyżej). Wróble i armaty.
Konrad Rudolph,
1
Rozwiązanie Fiddler będzie działać z WSZYSTKIMI przeglądarkami, a nawet jeśli zasoby zostaną załadowane przez flash lub inny osadzony obiekt, o ile zostaną załadowane przez HTTP lub HTTPS. W Fiddler procedura jest wykonywana za każdym razem w ten sam sposób. W przeciwnym razie procedura różni się nieco w zależności od strony internetowej lub przeglądarki. Nie twierdzę, że jest to najłatwiejsze rozwiązanie, tylko dobra uniwersalna alternatywa.
dotnetengineer,
Twoja wzmianka o zasobach Flash jest właściwie całkiem dobrym punktem.
Konrad Rudolph,
2
Dodanie większej ilości oprogramowania nie powinno być wymagane, to duży wzrost złożoności tego, co powinno być prostym procesem. Fiddler to także narzędzie dla programistów, a nie zwykłych użytkowników komputerów.
Jeff Atwood,
@JeffAtwood: Chociaż zgadzam się z twoim stwierdzeniem, że byłby to (w wielu przypadkach) niepotrzebny wzrost złożoności, co nie neguje faktu, że użycie pośredniego serwera proxy może być, w niektórych okolicznościach, jedynym rozsądnym sposobem na przechwycenie tej treści .
dotnetengineer
1

Naciśnij PrtScrn, otwórz program do malowania, wklej.

Jeśli używasz systemu Windows: do przechwytywania tylko aktywnego okna: Alt+ PrtScrn, w przypadku systemu Vista lub nowszego możesz użyć narzędzia wycinania, aby przechwycić tylko zaznaczenie.

markmnl
źródło
Jest to najbardziej ogólne rozwiązanie z nich wszystkich i powód, dla którego nigdy nie będzie w przeglądarce rozwiązania „kradzieży” zdjęć.
UncleZeiv,
1
W rzeczywistości jest to problem, jeśli obraz rozciąga się na rozdzielczość większą niż monitor może wyświetlić - nadal jest to wykonalne, ale staje się nudne.
Thomas
Z PO „Jak mogę ominąć ten zrzut ekranu ?”
glenviewjeff
przeprosiny - przeczytałem „krótki” jako „sort”, a potem przypuszczałem, że mówisz o „[profilaktycznym] przechwytywaniu ekranu [technologii]”.
markmnl
1

Wszystkie obrazy, które widzisz w przeglądarce, są przechowywane w pamięci podręcznej gdzieś na dysku twardym. Możesz użyć narzędzia do zgrywania pamięci podręcznej, aby wyodrębnić obrazy po sesji przeglądania. I nie trzeba oszczędzać jeden po drugim. Jednym z narzędzi, których możesz użyć, jest cacheCopy . Pozwala wybrać przeglądarkę, wybrać pamięć podręczną. Jak duże (rozmiar pliku lub rozdzielczość) obrazy, które chcesz zapisać. Pozwala także nadać plikom odpowiednią nazwę.

Minusem tego podejścia jest odfiltrowanie obrazów z witryny docelowej ze wszystkich innych w pamięci podręcznej. Można tego jednak uniknąć, jeśli wyczyścisz pamięć podręczną przed rozpoczęciem przeglądania zebranych obrazów. Również to narzędzie nie działa w trybie prywatnym, ponieważ tam nie jest używana pamięć podręczna.

Oświadczenie: jest to bezwstydna wtyczka. Jestem autorem tej aplikacji.

trailmax
źródło
um .. do dowolnego celu. Początkowo stworzony do chwytania flickr
trailmax
0

Ogólnie: Chrome / Inspect Element / karta Resources / Frames / jedyna ramka na stronie / Images. Na świecie nie ma podstępu, który mógłby ukryć obraz z tej listy.

chx
źródło