Как заархивировать страницу из интернета? Firefox.
Я читал на LOR’е и в википедии про mhtml, но видимо это всё уже давно не актуально. Плагинов о которых писали на википедии — я не нашёл, а статью на LOR’е не знаю как найти.
Что нужнос сейчас использовать для архивации (не обязательно firefox, можно и консоль, сторонние программы, утилиты)?
just_a_brake
17.10.18 16:00:43 MSK
Kuzz ★★★
( 17.10.18 16:20:17 MSK )
Чего вдруг? Ну есть ещё велосипедные мозилловский MAFF и сафаревский webarchive, но у MHTML с поддержкой куда получше. Можешь ещё с файлами сохранять, паковать в архив и монтировать при надобности fuse-zip’ом, или вообще не паковать и так и хранить, тебе не пофиг? 😀
не обязательно firefox, можно и консоль
wget -rk . Но браузером надёжнее, он скрипты выполнит и сохранит конечный слепок DOM.
bodqhrohro_promo ★
( 17.10.18 16:22:11 MSK )
Последнее исправление: bodqhrohro_promo 17.10.18 16:22:24 MSK (всего исправлений: 1)
Для архивации статичных страничек в PDF юзаю puppeteer, если тебе так сойдёт, то просто скопипасть:
const argparser = require("command-line-args"); const puppeteer = require("puppeteer"); const args = argparser([ < name: "output", alias: "o", defaultValue: "output.pdf" >, < name: "format", alias: "f", defaultValue: "A4" >, < name: "url", defaultOption: true >]); puppeteer.launch().then(async browser => < const page = await browser.newPage(); await page.goto(args.url); await page.pdf(< path: args.output, format: args.format >); await browser.close(); >);
package.json:
< "name": "puppeteer-example", "version": "1.0.0", "main": "index.js", "author": "emperor", "license": "MIT", "dependencies": < "command-line-args": "^5.0.2", "puppeteer": "^1.4.0" >, "scripts": < "start": "node index.js" >>
WitcherGeralt ★★
( 17.10.18 16:50:01 MSK )
Последнее исправление: WitcherGeralt 17.10.18 16:50:44 MSK (всего исправлений: 1)
Что нужнос сейчас использовать для архивации (не обязательно firefox, можно и консоль, сторонние программы, утилиты)?
Под андройдом фирефокс неплохо сохраняет страницы в виде pdf.
Архивация по URL
Каждый год несколько процентов материалов, на которые я ссылаюсь, исчезают навсегда. Для человека, который старается не писать без пруфов, это неприемлемо, так что я разработал собственную стратегию борьбы с битыми ссылками. Если коротко — коллекция скриптов, демонов и архивных сервисов в интернете просто берёт и бэкапит всё подряд. URLы регулярно выгружаются из логов моего браузера и статей с моего сайта. Все страницы архивируются локально и на archive.org, так что при необходимости они будут вечно доступны из нескольких независимых источников.
linkchecker регулярно проходит по моему сайту в поисках битых ссылок; все обнаруженные потери могут быть либо заменены (если адрес поменялся, но страница всё ещё существует), либо восстановлены из архива. Кроме того, мои локальные архивы криптографически датируются через блокчейн биткойна на случай, если возникнут подозрения в фальсификации.
Вымирание ссылок
«Все составные вещи недолговечны. Стремитесь к собственному освобождению с особым усердием».
Последние слова Будды Шакьямуни
Величина вымирания вызывает возмущение. Вот взгляд Википедии:
В эксперименте 2003 года Фетерли (с соавторами) обнаружил, что примерно одна ссылка из 200 исчезает каждую неделю из интернета. МакКоун (с соавторами, 2005) обнаружил, что половина URL, указанных в статьях журнала D-Lib Magazine, не были доступны через 10 лет после публикации, а другие исследования показали даже худшее вымирание ссылок в научной литературе [5] [6]. Нельсон и Аллен [7] изучали вымирание ссылок в цифровых библиотеках и нашли, что около 3 % объектов были недоступны после одного года. В 2014 владелец сайта закладок Pinboard Мацей Цегловский сообщал, что «довольно стабильная доля» в 5 % ссылок вымирает за год [8]. Исследование ссылок из каталога Yahoo! показало период полураспада случайной страницы в 2016—2017 годах (вскоре после того, как Yahoo! перестала публиковать этот каталог) около двух лет [9].
Брюс Шнайер вспоминает, что за девять лет у одного его друга сломалась половина ссылок на странице (и не то чтоб в 1998 году дела обстояли лучше), и что он сам порой выкладывал ссылку — а через пару дней она уже не работала. Виторио перебрал свои закладки из 1997 года в 2014-ом и обнаружил, что 91% не работает, а половины нет даже в Internet Archive. Эрни Смит взял книгу про интернет из 1994 года и нашёл в ней целую одну работающую ссылку. Internet Archive считает, что среднее время жизни страницы в интернете — 100 дней. Статья в Science утверждает, что учёные обычно не вставляют URLы в научные публикации, а когда вставляют — 13% не работает через два года. Французская компания Linterweb изучала внешние ссылки во франкоязычной Википедии и обнаружила, что в 2008 году 5% были мертвы. Англоязычная Википедия пережила вспышку битых ссылок в 2010-январе 2011, когда их число выросло от нескольких тысяч до ~110 000 из ~17.5 миллионов. На некогда легендарной Million Dollar Homepage, последняя ссылка на которой была поставлена в январе 2006 и стоила 38 тысяч долларов, к 2017 не меньше половины ссылок были мертвы или захвачены киберсквоттерами (с неё до сих пор идёт трафик, так что некоторые адреса могут иметь ценность). Сайт закладок Pinboard отмечал в августе 2014, что 17% 3-летних ссылок и 25% 5-летних не открываются. И так далее, и тому подобное, и прочее в том же духе.
Ссылки сыплются даже в более-менее стабильных, модерируемых и не разорившихся системах. Хотя Твиттер как таковой прекрасно себя чувствует, 11% твитов времён Арабской Весны не открывались уже через год. А иногда незаметно исчезают сразу огромные объёмы данных: например, администрация MySpace где-то потеряла всю музыку, загруженную с 2003 по 2015, и объявила, что они “перестроили MySpace с нуля и решили перенести часть пользовательского контента со старой версии”. Правда, часть загрузок 2008-2010 была восстановлена и выложена на IA “анонимным исследователем”.
Я хочу, чтобы мои данные хотя бы пережили меня; скажем, дожили до 2070. По состоянию на 10 марта 2011 года (прим. пер.: дата выхода первой версии этого текста. Последний апдейт датируется 5 января 2019), у меня на сайте примерно 6800 внешних ссылок, из них 2200 не на Википедию. Даже при минимальной оценке в 3% умирающих ссылок в год, до 2070 доживут немногие. Если шанс выживания данной конкретной ссылки в данный год 97%, то вероятность её не потерять до 2070 равна 0.97^(2070-2011)≈0.16. 95-процентный доверительный интервал для такого биномиального распределения подсказывает, что ~336-394 ссылки из 2200 будут работать в 2070 году. Если использовать верхнюю оценку смертности в 50% ссылок в год — то в 2070 году, скорее всего, не останется ни одной.
Истина где-то между этими двумя экстремумами, но безопаснее исходить из допущения, что все внешние ссылки (кроме разве что Википедии и Internet Archive, специально заботящихся о долгожительстве материалов) рано или поздно накроются. Во всяком случае, не стоит полагаться на то, что всё будет нормально. Если не позаботиться сейчас, то нормально точно не будет.
Если мы хотим заархивировать данную конкретную страницу — то всё просто. Нужно либо пойти на Internet Archive и нажать там соответствующую кнопку, либо распечатать страницу в PDF прямо из браузера. Для сохранения более сложных страниц есть специальные плагины, например ScrapBook. Но я захожу и ссылаюсь на огромное количество страниц, так что сохранять каждую из них вручную будет тяжеловато. Нужна система, которая бы автоматически обеспечивала корректные ссылки на все страницы, которые могут мне когда-нибудь понадобиться.
Поиск битых ссылок
Одну весну за другой
цветы излагают Закон,
не говоря ни единого слова,
но уяснив его суть
из срывающего их ветра
Сётэцу
Прежде всего, нужно как можно раньше находить свежеполоманные ссылки. Даже само по себе это позволит хотя бы подставлять материалы из архивов или кеша поисковых систем. У меня для этого используется linkchecker в задаче cron:
@monthly linkchecker --check-extern --timeout=35 --no-warnings --file-output=html \ --ignore-url=^mailto --ignore-url=^irc --ignore-url=http://.*\.onion \ --ignore-url=paypal.com --ignore-url=web.archive.org \ https://www.gwern.net
В таком виде эта команда вернёт кучу ложноположительных сигналов. Несколько сотен якобы битых ссылок будут найдены на одной только Википедии, потому что я ссылаюсь на редиректы; кроме того, linkchecker читает robots.txt и не может проверить заблокированные в нём адреса. Это можно исправить, добавив в ~/.linkchecker/linkcheckerrc «ignorewarnings=http-moved-permanent,http-robots-denied» (полный список классов предупреждений есть в linkchecker -h ).
Чем раньше битая ссылка найдена, тем раньше можно что-то с ней сделать. Что именно?
Удалённое кеширование
Всё, что ты постишь в Интернете, будет существовать до тех пор, пока оно тебя позорит, и исчезнет, как только оно тебе понадобится.
с сайта Ycombinator
Можно попросить кого-нибудь другого хранить кэши всех нужных нам страниц. Как раз на такой случай есть несколько веб-архивов:
- The Internet Archive
- WebCite
- Perma.cc (сильно ограничен)
- WikiWix (но у него есть конкретная функция — бэкапить исходящие ссылки Википедии — так что весь остальной интернет его интересует довольно мало).
- Archive.is
- Pinboard предоставляет архивацию за 25$ в год
- Hiyo.jp и Megalodon.jp (но они на японском) Прим.пер.: по состоянию на март 2021 первая ссылка не открывается. Что забавно, локальный архив Гверна честно отдаёт мне сохранённую главную страницу сервиса, но воспользоваться ей уже вряд ли получится.
Кстати, хранить в этих архивах собственный сайт — тоже неплохая идея:
- Бэкапы — это хорошо, но локальный бэкап тоже может случайно погибнуть (это я из собственного опыта говорю), так что неплохо бы иметь удалённые копии.
- Уменьшается пресловутый “автобусный фактор”: если завтра я попаду под автобус, то кто и как получит доступ к моим бэкапам? У кого будет время и желание в них потом разбираться? А про IA люди в целом понимают, что там и как, к тому же для работы с ним созданы специальные инструменты.
- Фокус на бэкапе самого сайта отвлекает внимание от необходимости бэкапить то, на что ты ссылаешься. Многие страницы мало чего стоят, если ссылки в них перестали открываться, а скрипты / демоны для архивации можно настроить так, чтобы они автоматически подтягивали всё необходимое.
В конце концов я написал archiver, простенький демон, который мониторит текстовый файл с URL’ами. Исходники можно скачать через
git clone https://github.com/gwern/archiver-bot.git
Archiver состоит из библиотеки, которая по сути является просто обёрткой вокруг соответствующих HTTP-запросов, и исполняемого файла, который берёт список адресов, сообщает Internet Archive, что их не мешало бы сохранить, потом удаляет соответствующую строку из файла и продолжает в том же духе, пока файл не опустеет.
Вызов выглядит так:
archiver ~/.urls.txt gwern@gwern.net
Он у меня когда-то крашился по непонятным причинам, так что я завернул команду в while true:
while true; do archiver ~/.urls.txt gwern@gwern.net; done
Потом я завернул его ещё и в сессию GNU screen:
screen -d -m -S "archiver" sh -c 'while true; do archiver ~/.urls.txt gwern@gwern.net; done'
Ну и запускаем не руками, а через cron, так что в итоге получается:
@reboot sleep 4m && screen -d -m -S "archiver" sh -c 'while true; do archiver ~/.urls.txt gwern2@gwern.net "cd ~/www && nice -n 20 ionice -c3 wget --unlink --limit-rate=20k --page-requisites --timestamping -e robots=off --reject .iso,.exe,.gz,.xz,.rar,.7z,.tar,.bin,.zip,.jar,.flv,.mp4,.avi,.webm --user-agent='Firefox/4.9'" 500; done'
Локальное кэширование
Удалённые архивы — это хорошо, но у них есть один фатальный недостаток: архивные сервисы не поспевают за ростом интернета и большей части материалов там может не быть. Ainsworth et al. 2012 показали, что менее 35% веб-страниц заархивированы хоть где-нибудь, и подавляющее большинство из них сохранены только в одном архиве. К тому же и сами архивы в принципе могут умереть вместе со всем их содержимым. Так что локальное кэширование тоже должно быть.
Самый фундаментальный подход — взять кэширующее прокси, которое будет сохранять буквально весь ваш веб-трафик. Например, Live Archiving Proxy (LAP) или WarcProxy будет писать WARC-файлы для каждой посещённой через HTTP веб-страницы. Zachary Vance пишет, что можно настроить локальный HTTPS-сертификат и добраться до содержимого HTTPS-страниц за счёт MitM-атаки на собственный трафик.
Но это довольно тяжеловесное и прожорливое решение, так что хочется чего-то более аккуратного. Например, выгружать из браузера список посещённых страниц и пытаться их заархивировать.
Раньше я использовал скрипт с потрясающе оригинальным названием local-archiver:
local-archiver.sh
#!/bin/sh set -euo pipefail cp `find ~/.mozilla/ -name "places.sqlite"` ~/ sqlite3 places.sqlite "SELECT url FROM moz_places, moz_historyvisits \ WHERE moz_places.id = moz_historyvisits.place_id \ and visit_date > strftime('%s','now','-1.5 month')*1000000 ORDER by \ visit_date;" | filter-urls >> ~/.tmp rm ~/places.sqlite split -l500 ~/.tmp ~/.tmp-urls rm ~/.tmp cd ~/www/ for file in ~/.tmp-urls*; do (wget --unlink --continue --page-requisites --timestamping --input-file $file && rm $file &); done find ~/www -size +4M -delete
Код не самый красивый, но вроде всё понятно.
- Выгружаем адреса из SQL-файла Firefox и скармливаем их wget. Это не самый подходящий инструмент для скачивания сайтов: он не может запускать JS/Flash, скачивать потоковое видео и прочая и прочая. Весь джаваскрипт будет просто скачан в виде файла, который, скорее всего, перестанет исполняться через пару лет, а динамически подгружаемый контент не сохранится. С другой стороны, это не такая уж большая проблема, потому что на практике мне нужен в основном как раз статический контент (а JS по большей части обеспечивает только ненужные свистелки), а видео можно бэкапить руками через youtube-dl . Если страница приватная и без логина не открывается — то можно вытащить куки из Firefox специальным аддоном, скормить их wget через ключ —load-cookies и всё будет хорошо. Так что в целом wget мне хватает.
- Скрипт дробит список URL на множество файлов и параллельно запускает бэкапы на каждом из них, потому что wget не умеет одновременно качать с нескольких доменов и может подвиснуть.
- filter-urls — это ещё один скрипт, удаляющий адреса, которые не надо бэкапить. По сути это просто гора костылей:
#!/bin/sh set -euo pipefail cat /dev/stdin | sed -e "s/#.*//" | sed -e "s/&sid=.*$//" | sed -e "s/\/$//" | grep -v -e 4chan -e reddit
Так что я сел писать archiver, который бы постоянно крутился в фоне и собирал адреса, бэкапил бы в Internet Archive и вёл себя более разумно с большими медиафайлами.
Я добавил туда ещё пару фич: во-первых, он принимает в качестве третьего аргумента произвольную sh-команду, которой будет отдана ссылка. Это полезно, если вам хочется что-нибудь делать со всеми сохранёнными страницами (например, вести логи).
Во-вторых, все страницы криптографически датируются и помечаются, так что если возникнут подозрения в том, что я сфальсифицировал что-то в своём архиве — можно будет подтвердить, что он не поменялся с момента создания. Система подробно расписана в приложении, но смысл в том, что специальный сервис посылает копеечную транзакцию на адрес Bitcoin, производный от хэша документа, и при необходимости всегда можно найти в блокчейне доказательство, что в такую-то дату действительно существовала страница с таким-то хэшом.
Расход ресурсов
Кажется, что такой локальный бэкап будет пожирать огромные ресурсы, но на самом деле за год набирается 30-50 Гб. Меньше, если настроить игнорирование страниц более жёстко, больше, если сохранять сайты целиком (а не только посещённые страницы). В долгосрочной перспективе всё это вполне жизнеспособно: с 2003 по 2011 средняя страница увеличилась в 7 раз (что неприятно), но цена хранения за тот же период упала в целых 128 раз. По состоянию на 2011 год, за 80 долларов можно купить минимум пару терабайт, так что гигабайт места на жёстком диске стоит около 4 центов. Получается, что весь бэкап стоит один-два доллара в год. На самом деле больше, потому что всё это надо хранить в нескольких копиях, но всё равно копейки. К тому же нам тут повезло: большая часть документов изначально цифровая и может быть автоматически перенесена с диска на диск или конвертирована в другой формат. Обратная совместимость в браузерах неплохо работает даже с документами из начала девяностых, и даже если что-то не откроется сразу, об этой проблеме можно будет думать, когда и если она действительно возникнет. Разумеется, если нужные данные зашиты в анимацию Adobe Flash или динамически подтягиваются из облака — то они пропали, но это всё ещё куда меньшая боль, чем если бы мы пытались сохранять программы и библиотеки (что потребовало бы полного стека двоично совместимых виртуалок или интерпретаторов).
Размер можно и уменьшить: tar-архив, пожатый 7-zip на максимальных настройках, примерно впятеро меньше исходника. Ещё процентов 10 можно убрать, найдя идентичные файлы через fdupes и подменив их на хардлинки (на веб-страницах полно абсолютно идентичного джаваскрипта). Хорошая фильтрация тоже не помешает. Например, за период с 2014-02-25 по 2017-04-22, я посетил 2,370,111 URL (в среднем 2055 в день); после фильтрации осталось 171,446 URL’ов, из которых всего 39,523 уникальных (34 в день, 12,520 в год).
По состоянию на 2017-04-22 архивы за 6 лет весят всего 55 Гб за счёт компрессии, агрессивной фильтрации, удаления больших доменов, которые и так бэкапит Internet Archive, и прочих ручных оптимизаций.
Источники URL
Список страниц, которые надо сохранить, заполняется из нескольких источников. Во-первых, есть скрипт под названием firefox-urls:
firefox-urls.sh
#!/bin/sh set -euo pipefail cp --force `find ~/.mozilla/firefox/ -name "places.sqlite"|sort|head -1` ~/ sqlite3 -batch places.sqlite "SELECT url FROM moz_places, moz_historyvisits \ WHERE moz_places.id = moz_historyvisits.place_id and \ visit_date > strftime('%s','now','-1 day')*1000000 ORDER by \ visit_date;" | filter-urls rm ~/places.sqlite
(filter-urls тот же самый, что и в local-archiver. Если я не хочу сохранять страницу локально, то я и в удалённый архив её не стану отправлять. Более того, у WebCite есть ограничение на число запросов, так что archiver еле справляется с нагрузкой и не надо грузить его ещё и пустой болтовнёй на форчане).
Этот скрипт запускается раз в час по крону:
@hourly firefox-urls >> ~/.urls.txt
Посещённые с последнего запуска адреса оказываются в файле и archiver их увидит при следующем запуске, так что всё, что я читаю, сохраняется навечно. Если у вас Chromium, то существуют аналогичные скрипты от Zachary Vance для извлечения истории и закладок.
Второй и, пожалуй, более полезный источник — парсер Markdown. Все ссылки аналогичным образом выдираются из моих документов (link-extractor.hs), отправляются в файл списка, и рано или поздно они отправляются в архивы.
Наконец, иногда я скачиваю полный дамп всего сайта. В принципе я мог бы прокликать все страницы вручную и положиться на мои скрипты, но это не очень удобно. linkchecker по определению проверяет ссылки, так что неудивительно, что он может вернуть список всех URL на сайте и даже построить карту. Правда, среди многочисленных форматов, которые он умеет возвращать, нет простого списка адресов по одному на строчку, так что выхлоп нужно дорабатывать напильником (обратите внимание, что сильно перелинкованные сайты типа википедии лучше так не обходить):
linkchecker --check-extern -odot --complete -v --ignore-url=^mailto --no-warnings http://www.longbets.org | fgrep http | fgrep -v -e "label=" -e "->" -e '" [' -e '" ]' -e "/ " | sed -e "s/href=\"//" -e "s/\",//" -e "s/ //" | filter-urls | sort --unique >> ~/.urls.txt
Что я в итоге делаю с битыми ссылками
Благодаря связке linkchecker и archiver, на Gwern.net почти нет битых ссылок. Когда они обнаруживаются, у меня уже подготовлено множество запасных вариантов:
- Найти работающую версию страницы
- Подставить копию из Internet Archive
- Подставить копию из WebCite
- Подставить копию из WikiWix
- Использовать локальный дамп.
- архив интернета
- архивирование данных
- бэкапы
Четыре важных совета по использованию Wayback Machine
Ранее в блоге «Цифровые расследования» я уже приводил советы о том, как использовать Wayback Machine по-максимуму. Благодаря интервью с Марком Грэхемом, директором Wayback Machine, теперь у меня есть ещё больше лайфхаков.
Он указал на несколько особенностей, о которых я забыл упомянуть (а про некоторые даже не знал). Также мы обсудили сложности архивирования контента из соцсетей.
Порталом Wayback Machine заведует некоммерческая организация Internet Archive, которая уже 27 лет занимается предоставлением всеобщего доступа к любым знаниям. «Мы – цифровая библиотека», – говорит Грэхем.
«И раз мы – библиотека, значит у нас не пользователи, а читатели». Давайте же посмотрим на некоторые полезные для читателей-журналистов и аналитиков функции.
1. Просмотр и сопоставление изменений
Функция Changes (Изменения) позволяет сравнивать разные версии одной и той же страницы и находить отличия.
«Допустим, журналист пишет статью, в которой важно показать, что со временем содержимое страницы менялось», – говорит Грэхем. «В этом случае ему нужно знать про функцию Changes в Wayback Machine, которая позволяет сравнить материал по адресу URL в два разных момента».
Функция Changes доступна в верхнем меню любой заархивированной страницы, которую вы просматриваете в Wayback Machine:
Как сравнить разные версии одной страницы. Изображение: Скриншот, Wayback Machine
Также можно открыть её напрямую, просто введите следующий URL-запрос: https://web.archive.org/web/changes/https://www.nytco.com/journalism/
URL-адрес сравниваемой страницы укажите сразу после https://web.archive.org/web/changes/, и вам откроется набор графиков, где по годам будут отображаться точки, обозначающие даты архивирования:
Цвет квадратиков зависит от степени изменений. Изображение: Скриншот, Wayback Machine
Каждая заполненная клетка соответствует снимку страницы, а цветом обозначены дни, когда произошли значительные изменения. Выберите два экземпляра и нажмите в верхней части страницы на кнопку “Compare” (Сравнить). Откроется параллельное сопоставление двух сохранённых копий.
Я выбрал снимок страницы за начало марта 2023 года (слева) и за начало января 2022 года (справа). Сравнение показало, что на странице New York Times с корпоративной информацией о журналистике изменились варианты меню и текст в «подвале» (футере) страницы:
Пример сравнения изменений на корпоративном сайте New York Times. Изображение: Скриншот, Wayback Machine
2. Используйте функцию ‘About this Capture’ (Об этом снимке) для верификации элементов страницы
Говоря простым языком, Wayback Machine копирует экземпляр веб-страницы и сохраняет её в архиве. В реальности есть много нюансов.
«В интернете всё запутано и всё постоянно меняется», – говорит Грэхем. «И когда я говорю: «постоянно меняется», то это значит, что всё очень динамично».
Я спросил его, насколько мы можем быть уверены, что архив показывает всё в точности как было в ту дату и время, которые указаны в Wayback Machine. Если коротко, то да, мы можем быть уверены. Но элементы архивной страницы могут подтягиваться из других заархивированных материалов, и у каждого будет собственная метка времени. Вот тут и начинаются нюансы.
В Wayback Machine есть функция, позволяющая просматривать временные метки разных элементов страницы. Чтобы её открыть, нажмите на «About this capture” (Об этом снимке) в правом верхнем углу экземпляра страницы:
Функция «About this capture” (Об этом снимке). Изображение: Скриншот
Возьмём для примера страницу https://www.nytco.com/journalism/, и вот что мы получим:
Когда были заархивированы разные элементы страницы. Изображение: Скриншот, Wayback Machine
Хотя страница была заархивирована 20 октября 2021 года, экземпляр подтягивает некоторые элементы страницы из более свежих архивов. Большая часть приведённых выше элементов – это изображения, из которых состоит шаблон страницы. Есть также несколько файлов – это JavaScript и CSS. Грэхем объяснил, что Wayback Machine подтягивает разные картинки, файлы JavaScript и CSS, чтобы «собрать» страницу и отобразить в браузере.
«Когда мы воспроизводим страницу, то на самом деле пытаемся собрать вместе все реквизиты страницы, которые указаны в URL-адресе, из архивных копий, и сложить их воедино», – поясняет он. «Одна из сложностей состоит в том, что каждый из этих объектов мог попасть в архив в разное время».
Например, главное фото вверху этой страницы (“17XP-PULITZERS2-superJumbo-article.jpg”) было взято из экземпляра, сохранённого за 8 дней до того, как я загрузил архив. Если это фото или файл важны для вашего расследования, то стоит проверить его страницу в архиве и посмотреть, не было ли изменений со временем, и какой экземпляр был сохранён в нужную вам дату. Но если с течением времени изменений файла не было, то всё хорошо.
Нюансы, о которых нужно помнить при просмотре архива. Изображение: Скриншот, корпоративный веб-сайт New York Times
По общему, но не абсолютному, правилу, текст основного « тела» типичной веб-страницы не подтягивается из отдельного файла или другой страницы. Поэтому скорее всего к основному тексту такая динамика не применима. Но безопаснее всего будет проверить пункт “About this capture” и убедиться, что текст, изображения или другие элементы страницы не менялись в нужную вам дату.
3. Используйте Google Таблицы для массового архивирования
Грэхем напомнил мне, что с помощью Google Таблиц можно массово архивировать URL-адреса. Это очень просто. Сначала создайте таблицу с одним столбцом и добавьте туда список адресов для архивирования. Затем перейдите вот сюда, чтобы связать свою учётную запись Google с учётной записью archive.org.
Массовое архивирование URL-адресов. Изображение: Скриншот, Internet Archive
После завершения вы увидите этот экран. Нажмите на “Archive URLs” (Архивировать адреса).
Как архивировать адреса. Изображение: Скриншот, Internet Archive
Теперь вставьте ссылку на Google Таблицу с теми адресами URL, которые вам нужно заархивировать.
Вставьте ссылку на Google Таблицу. Изображение: Скриншот, Internet Archive
Поскольку вы подключили учётную запись Google к archive.org, то все сохранённые экземпляры будут храниться у вас в учётной записи archive.org для простоты поиска.
«Эта функция появилась, потому что как-то жена меня спросила: «Марк, а как мне проще всего заархивировать кучу страниц»?», — сказал он.
Вместе с инженерами Internet Archive Грэхем разработал для неё эту функцию.
4. Присылайте свои комментарии и вопросы по электронной почте
«Многие, многие функции Wayback Machine существуют сегодня потому, что о них попросил или их предложил наш «читатель»», — сказал Грэхем. «Мы очень ценим комментарии и вопросы».
Он посоветовал всем писать на info@archive.org.
«Мы получаем сотни писем в день, просматривает и отвечает на них целая команда», – добавил Грэхем. «Я лично отвечаю на те вопросы о Wayback Machine, на которые не может ответить первый уровень поддержки».
Особенно он будет рад ответить на вопросы или комментарии журналистов.
Дополнительная информация: Архивирование соцсетей
Опытные пользователи Wayback Machine знают, что архивировать содержимое социальных сетей бывает сложно, а то и невозможно. Дело – не в функциональности и ограничениях платформы, а в том, что компании вроде Meta пытаются помешать скрейпингу.
Вот что, по словам Грэхема, мешает архивировать содержимое социальных сетей:
Некоторые веб-сайты архивировать проще, но вот с Facebook и Instagram особые сложности. Они предпринимают активные меры для противодействия автоматизированным методам, в том числе скрейпингу. Например, если зайти на сайт Facebook, там есть отдельный раздел про веб-скрейпинг, в котором объясняется, что есть специально обученные сотрудники, занятые противодействием веб-скрейпингу и веб-архивированию.
Мы относимся к интернету уважительно. Это не наш материал. Как библиотека, мы работаем для того, чтобы этот материал был доступен всем. Поэтому в случае с Facebook и Instagram, мы стараемся сохранять и их. Нам кажется, что это вполне нормально – архивировать публично доступную информацию. Например, это могут быть публичные страницы в Facebook пресс-служб государственных органов таких стран, как Украина или Китай.
Но есть и хорошие новости. По словам Грэхема, Wayback Machine «активно работает с несколькими медиа-организациями», чтобы улучшить возможность архивирования социальных сетей. Надеемся, вскоре станет проще.
Эта публикация изначально была опубликована в рассылке Крэйга Сильвермана Digital Investigations Substack и перепечатывается с его разрешения.
Дополнительные ресурсы
Крейг Сильверман – репортёр издания ProPublica, занимающийся вопросами голосования, цифровых платформ, дезинформации и онлайн-манипуляций. Ранее он работал в должности медиаредактора в BuzzFeed News, где был одним из первых, кто начал освещать проблемы цифровой дезинформации.
Сохранить копию сайта в веб архив Internet archive Wayback Machine
В интернете существует очень интересный и полезный проект — веб архив, полностью — Internet archive Wayback Machine.
В веб архиве, расположенным по адресу: http://archive.org/web/, сохраняется прошлое сайтов в виде полноценных и работающих страниц, со всеми ссылками, изображениями, видео. В общем можно увидеть, какой был сайт в прошлом на дату формирования копии.
Боты архив-машины самостоятельно сканируют сайты и формируют их копии, каков их алгоритм — не известно. Поэтому в архиве можно найти много копий своего сайта со всеми страницами или всего одну, да и то искажённую.
Предположить, в каком виде загрузится и отобразится тот или иной сайт — невозможно. Но как правило, машина периодически сохраняет полноценные копии всего сайта и даже может выдать страницы, которых у вас не было никогда.
Если вы не хотите отдавать судьбу своего сайта в руки ботов ресурса, то можно самостоятельно занести страницу в архив, и в случае непредвиденных случайностей, найти и восстановить её.
Как увидеть архив своего сайта
Откройте Internet archive и в строке поиска введите адрес сайта, далее нажмите « browse history »
Здесь будет показано, сколько копий, в каком году и в каком месяце сохранено в архиве.
Выбрав дату и нажав на эти кнопки, можно увидеть копию сайта на тот момент времени.
Как занести сайт в архив
Для этого откройте главную страницу Internet archive Wayback Machine: http:// archive.org/web/.
Далее в рубрике Save Page Now введите адрес архивируемой страницы и нажмите «SAVE PAGE». Через несколько секунд копия буде сохранена.
Как запретить архивировать мой сайт
Что за дело, кто без моего спроса меня сосчитал? Если вы так думаете, то можно запретить веб-машине сохранять копии вашего сайта
Для этого в файле robots.txt нужно прописать запрещающую директиву для ботов wayback machine.
Чтобы позволить архивировать сайт снова, уберите эти строки из файла robots.txt и лучше сразу добавьте главную станицу в архив. Иначе изменений можно дожидаться долго, обновления в системе происходят редко.