Вопрос или проблема
Если у меня есть файл .txt с списком URL-адресов, как я могу заставить Chrome или Firefox открыть их, один URL на вкладку, а затем сохранить каждую страницу на каждой вкладке отдельно?
Любая платформа подойдет: Windows, Mac, Linux.
Открыть URL-адреса во вкладках можно, просто вставив в консольный запрос cmd
ваши URL-адреса вот так.
start chrome http://yoururls/foo.html &
start chrome http://yoururls/bar.html &
.
.
.
или
start firefox http://yoururls/foo.html &
start firefox http://yoururls/bar.html &
.
.
.
Хотя вопрос конкретно упоминает Chrome и Firefox, если вы пытаетесь сохранить содержимое каждой страницы, wget подходит для этой задачи. Например:
wget --input-file=list_of_urls.txt
Вы даже можете указать конкретный user-agent, если хотите, чтобы сервер видел запрос как от определенного браузера:
wget --user-agent=some_specific_user_agent_string --input-file=list_of_urls.txt
Ответив на свой вопрос, я не был уверен в некоторых плагинах, которые я уже видел, но более внимательный взгляд подтвердил, что они должны справиться с задачей.
Два этапа:
-
Запустите Firefox или Chrome из командной строки, передав список сайтов в качестве параметра или файла, содержащего список, используя один из следующих методов:
- https://unix.stackexchange.com/questions/17659/opening-multiple-urls-from-a-text-file-as-different-tabs-in-firefox-chrome
- Как открыть список URL-адресов в Firefox или SeaMonkey?
- https://stackoverflow.com/questions/3752133/script-to-automate-url-opening-in-multiple-tabs-in-firefox-or-opera-from-a-text
- https://stackoverflow.com/questions/8045522/open-urls-from-a-file-in-newtabs-in-firefox
- Как быстро открыть набор вкладок вместе?
- Как открыть Google Chrome через командную строку с URL-адресом в режиме инкогнито?
-
Затем используйте один из следующих плагинов для сохранения всего содержимого каждой вкладки
Firefox:
Цитата с страницы плагина (особые функции, интересные для этого вопроса):
Об этом расширении: UnMHT предоставляет следующие функции:
- Сохранить веб-страницу как файл MHT.
- Вставить URL веб-страницы и дату сохранения в сохраненный файл MHT.
- Сохранить несколько вкладок как файлы MHT одновременно.
- Сохранить несколько вкладок в один файл MHT.
- Сохранить веб-страницу одним кликом в предварительно заданный каталог с функцией Быстрого сохранения.
- Конвертировать HTML файлы и каталог, содержащий файлы, используемые HTML, в файл MHT.
- Просмотреть файл MHT, сохраненный UnMHT, IE, PowerPoint и т.д.
Chrome:
- Расширение: ZipTabs
С страницы расширения:
- сохранить несколько открытых страниц в zip-файл, содержащий отдельные HTML файлы со всеми ресурсами (изображениями, таблицами стилей, фреймами…)
- открыть zip-файл с архивами во вкладках Примечания:
- это расширение требует предварительной установки “SingleFile Core” (следуйте инструкциям по установке)
Для macOS вы можете просто открыть терминал и использовать open <URL>
чтобы открыть все URL, разделенные &
, например:
open https://www.google.com &
open https://www.youtube.com &
open https://www.facebook.com &
open https://www.stackoverflow.com
Но учитывайте, что порядок вкладок не будет соответствовать порядку команд (т.е. будет не так, что сначала откроется google, а потом StackOverflow, порядок будет другим).
Если у вас есть файл .txt, вы можете использовать эту команду, чтобы открыть все URL, используя терминал
cd <filePath> && while read -r url; do open "$url"; done < <filename>.txt
Примечание: Эта команда будет использовать ваш браузер по умолчанию.
Открыть все сразу по одному в каждой вкладке из командной строки (CLI)
Chromium:
xargs chromium-browser --new-tab < urls.txt
Firefox:
xargs -L1 firefox -new-tab < urls.txt
или слегка более эффективно, как в: https://unix.stackexchange.com/questions/365399/xargs-append-each-argument-with-a-parameter
xargs printf -- '-new-tab %s\n' < urls.txt | xargs firefox
Тестовый файл:
urls.txt
https://example.com/1
https://example.com/2
https://example.com/3
Firefox требует немного больше работы, потому что для каждого URL нужен один -new-tab
:
firefox -new-tab https://example.com/1 \
-new-tab https://example.com/2 \
-new-tab https://example.com/3
Для сохранения вы должны использовать wget
вместо браузера, как упоминалось здесь: https://superuser.com/a/965286/128124
Тестировано на Ubuntu 20.10, Firefox 84, Chromium 85.
Веб-сервисы для открытия URL
Существуют несколько сервисов, основанных на JavaScript, например https://url-opener.com/, которые являются хорошим решением для новичков и не требуют установки ничего.
Вы просто вставляете список URL в них, нажимаете “Открыть все”, и они открывают по одному URL на вкладку.
Однако вам нужно включить всплывающие окна/открытие нескольких вкладок для домена, так как они по умолчанию блокируются в большинстве браузеров для предотвращения спама. Браузеры обычно показывают предупреждение “Всплывающее окно заблокировано”, на которое вы можете кликнуть, чтобы отключить.
TODO не удалось найти open-source решение на страницах GitHub после пятиминутного поиска…
Сопутствующее: https://unix.stackexchange.com/questions/17659/opening-multiple-urls-from-a-text-file-as-different-tabs-in-firefox-chrome
Самый простой способ, который я нашел в Firefox, это установить и использовать Расширение SingleFile, которое имеет опцию “Пакетное сохранение URL” (а также опции “Сохранить выбранные ссылки”, “Сохранить все вкладки” и т.д., если вам это нужно)
Вот скриншот его функции “Пакетное сохранение URL” :
Получить все вкладки отдельно через пакетное не слишком сложно.
Код:
@echo off
open chrome [введите URL 1]
open chrome [введите URL 2]
...
exit
В macOS вы можете ввести это в терминале:
open -a Firefox -u https://nytimes.com -u https://google.com -u http://apple.com
и добавить столько URL, сколько вам нужно.
Если вы предпочитаете Chrome над Firefox, команда такова:
open -a Google\ Chrome https://google.com https://facebook.com https://apple.com
Я использую Fedora 41 и мне пришлось указать google-chrome-stable
. Например,
google-chrome-stable https://www.rottentomatoes.com/
.
Ответ или решение
Как открыть несколько URL в Chrome/Firefox и сохранить их по отдельности
Обработка множества URL-адресов может быть актуальной задачей как для специалистов IT, так и для обычных пользователей. Если у вас есть файл в формате .txt
, содержащий список URL-адресов, вы можете легко открыть их во вкладках браузеров Chrome или Firefox, а затем сохранить содержимое каждой страницы. В этой статье мы рассмотрим, как это сделать на различных платформах: Windows, macOS и Linux.
Шаг 1: Открытие URL-адресов в браузере
Windows:
-
Командная строка (CMD):
Чтобы открыть несколько URL, вы можете воспользоваться командной строкой. Для Chrome и Firefox введите следующее:Для Chrome:
start chrome http://вашurl1 & start chrome http://вашurl2 & ...
Для Firefox:
start firefox http://вашurl1 & start firefox http://вашurl2 & ...
-
Использование файла с URL:
Если вы предпочитаете открыть все URL из текстового файла, вы можете использовать следующий скрипт на PowerShell:Get-Content путь\к\yoururls.txt | ForEach-Object {Start-Process chrome $_}
macOS:
-
Терминал:
Откройте терминал и выполните следующую команду для открытия URL-адресов:open -a "Google Chrome" URL1 URL2 ...
Если у вас есть текстовый файл с URL, используйте:
while read url; do open "$url"; done < путь/к/filename.txt
Linux:
-
Использование xargs:
В терминале введите (для Chrome и Firefox):Для Chrome:
xargs chromium-browser --new-tab < urls.txt
Для Firefox:
xargs -L1 firefox -new-tab < urls.txt
Шаг 2: Сохранение страниц
После открытия всех URL, следующим шагом будет их сохранение. Существует несколько инструментов и расширений для разных браузеров, которые помогут вам выполнить эту задачу.
Firefox:
-
Расширение SingleFile:
Это популярное расширение для Firefox, которое позволяет сохранить все открытые вкладки за один клик. Просто установите его и выберите опцию "Batch save URLS". -
UnMHT:
Это расширение позволяет сохранять веб-страницы в формате MHT, что удобно для архивирования.
Chrome:
-
Расширение ZipTabs:
Позволяет сохранять все открытые страницы в одном ZIP-файле с ресурсами (изображения, стили и т. д.).
Альтернативные методы
Если использовать браузер для сохранения страниц не является оптимальным решением, вы можете воспользоваться утилитами для командной строки, такими как wget
, которые позволяют загружать контент:
wget --input-file=путь\к\list_of_urls.txt
Также при необходимости можно указать специфический user-agent
:
wget --user-agent="ваш_user_agent" --input-file=путь\к\list_of_urls.txt
Заключение
Используя предложенные методы, вы можете эффективно открывать и сохранять множество веб-страниц в браузерах Chrome и Firefox. Независимо от использованной платформы, вы имеете в своем распоряжении разнообразные инструменты и расширения. Выбор метода будет зависеть от ваших предпочтений и требований к сохранению контента.