Как экспортировать все ссылки на загрузки из chrome://downloads?

Как экспортировать все ссылки на загрузки из chrome://downloads?

Иногда некоторые загрузки завершаются неудачно, и я хочу перенести все ссылки из списка загрузок Chrome в менеджер загрузок.

Если я сохраняю страницу chrome://downloads, я получаю пустой HTML-файл.

Есть ли способ экспортировать все ссылки на загрузки со страницы загрузок Google Chrome (доступ к ней можно получить, нажав Ctrl+ J)?

решение1

Я поискал в Интернете и в интернет-магазине Chrome, но, к сожалению, расширений для этого нет.

Только когда я попытался написать скрипт, я обнаружил, что все не так просто, поскольку существует множество вложенных теневых элементов DOM, тем не менее мне удалось его написать.

Ниже приведен код, который необходимо вставить в консоль ( Ctrl+ Shift+ J), чтобы получить все ссылки.

ditems = document.querySelector("downloads-manager").shadowRoot.querySelector("iron-list").querySelectorAll("downloads-item");

var div = document.createElement('div');

[].forEach.call(ditems, function (el) {
var br = document.createElement('br');
var hr = document.createElement('hr');
div.appendChild(el.shadowRoot.querySelector("#url"));
div.appendChild(br);
div.appendChild(hr);

});
document.body.innerHTML=""
document.body.appendChild(div);
document.head.style.innerHTML="";

После этого вы можете сохранить полученную страницу с помощью Ctrl+ S.

решение2

Вы можете извлечь ссылки на загрузки из базы данных истории Chrome.

  1. Найдите Historyфайл:
    • на macOS:~/Library/Application\ Support/Google/Chrome/Default/
    • в Windows:%LocalAppData%\Google\Chrome\User Data\Default
    • на Linux:~/.config/google-chrome/Default
  2. Сделайте копию файла Historyв другом месте (вы не сможете использовать оригинал, пока открыт Chrome).
  3. Теперь вы можете извлечь ссылки для скачивания из скопированного файла, используя либоsqlite3CLI или с помощью графического просмотрщика SQLite, напримерБраузер БД для SQLite. Ссылки для скачивания указаны в таблице downloads_url_chains.

Похожий вопрос, содержащий несколько полезных команд sqlite3:Можно ли экспортировать историю браузера Chrome в HTML-файл?

решение3

Вот что я использовал для получения URL-адресов по состоянию на июнь 2023 года (версия 112.0.5615.121):

var items = document.getElementsByTagName('downloads-manager')[0].$.downloadsList._physicalItems;
for (let i = 0; i < items.length; i++) {
    console.log(items[i].$.name.innerHTML + ' - ' + items[i].$.url.innerHTML);
}

Этот скрипт получает URL-адреса для загрузки вместе с именами файлов партиями по 18 штук. Возможно, вам придется прокрутить страницу загрузок, чтобы загрузить следующую партию, и запустить скрипт несколько раз, если у вас более 18 ссылок.

решение4

Вы также можете использовать специальное приложение NirSoft, BrowserDownloadView (которое я только что протестировал 01.12.2023). Оно прекрасно работает с Chrome (последняя версия, на Windows 10 Enterprise)

Связь: https://www.nirsoft.net/utils/web_browser_downloads_view.html

Связанный контент