Kompx.com or Compmiscellanea.com

Lynx. Извлечение данных из веб-страниц

Операционные системы : Linux

Помимо просмотра / отображения веб-страниц, Lynx может выводить форматированный текст содержания веб-документа или его HTML источник на стандартный вывод. И это затем может быть обработано с помощью некоторых инструментов, имеющихся в Linux, таких как gawk, Perl, sed, grep, и т.д. Некоторые примеры:

Работа с внешними ссылками

Подсчитать количество внешних ссылок

Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http:", перенаправляет результат далее, опять для grep, который выбирает из них строки не начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внешние ссылки веб-страницы), wc подсчитывает число извлеченных внешних ссылок и отображает его:

lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -o "http:.*" | grep -E -v "http://compmiscellanea.com|http://www.compmiscellanea.com" | wc -l

Найти внешние ссылки и сохранить их в файл

Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http:", перенаправляет результат далее, опять для grep, который выбирает из них строки не начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внешние ссылки веб-страницы) и сохраняет их в файл:

lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -o "http:.*" | grep -E -v "http://compmiscellanea.com|http://www.compmiscellanea.com" > file.txt

Найти внешние ссылки, опустить повторяющиеся записи и сохранить результат в файл

Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http:", перенаправляет результат далее, опять для grep, который выбирает из них строки не начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внешние ссылки веб-страницы), sort сортирует их, а uniq удаляет повторяющиеся записи. Результат сохраняется в файл:

lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -o "http:.*" | grep -E -v "http://compmiscellanea.com|http://www.compmiscellanea.com" | sort | uniq > file.txt

Работа с внутренними ссылками

Подсчитать количество внутренних ссылок

Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внутренние ссылки), wc подсчитывает число извлеченных внутренних ссылок и отображает его:

lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -E -o "http://compmiscellanea.com.*|http://www.compmiscellanea.com.*" | wc -l

Найти внутренние ссылки и сохранить их в файл

Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внутренние ссылки) и сохраняет их в файл:

lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -E -o "http://compmiscellanea.com.*|http://www.compmiscellanea.com.*" > file.txt

Найти внутренние ссылки, опустить повторяющиеся записи и сохранить результат в файл

Lynx выводит список ссылок из содержимого веб-документа на стандартный вывод. Grep ищет только строки, начинающиеся с "http://compmiscellanea.com" and "http://www.compmiscellanea.com" (внутренние ссылки), sort сортирует их, а uniq удаляет повторяющиеся записи. Результат сохраняется в файл:

lynx -dump -listonly "http://compmiscellanea.com/en/elinks.htm" | grep -E -o "http://compmiscellanea.com.*|http://www.compmiscellanea.com.*" | sort | uniq > file.txt

Смысл использования "lynx -dump -listonly" вместо просто "lynx -dump" состоит в том, что могут попасться веб-страницы с простыми текстовыми строками, выглядящими как ссылки (содержащие "http://", к примеру) в тексте содержания, как это имеет место на странице http://www.kompx.com/ru/elinks.htm. "Lynx -dump" вывел бы на стандартный вывод форматированный текст, где настоящие ссылки и ссылкоподобные простые текстовые строки выглядели бы одинаково и grep не смог бы их различить. "Lynx -dump -listonly" выдает только список ссылок, так что не случается путаницы с выглядящими как ссылки простыми текстовыми строками.


Aliosque subditos et thema

 

Internet Explorer 3. Скриншоты 1

 

Internet Explorer 3, запущенный под Windows 7 (32-bit). Скриншоты 1. Internet Explorer 3: windows.microsoft.com/en-US/windows/upgrade-your-browser Internet Explorer 3: w3schools.com/browsers/browsers_stats.asp Internet Explorer 3: en.wikipedia.org/wiki/Internet_Explorer_3 Internet Explorer 3: ebay.com Internet Explorer 3: kompx.com/en/netscape-3-screenshots-1.htm Internet Explorer 3: twitter.com Скачать Internet Explorer 3: пак, содержащий Internet Explorer версий 3.0, 4.01, 5.01, 5.5, 6.0. В процессе установки можно выбрать какую именно версию установить, или установить несколько, или установить все. Очень вероятно, что все версии, кроме Internet Explorer 3, не будут работать даже в 32-битной Windows 7. Так что если вы хотите попробовать все старые версии Internet Explorer, нужно использовать Windows XP или еще более ранние варианты. Но Internet Explorer 3 работает под 32-битной Windows 7 вполне хорошо.

Распаковать несколько архивов

 

Распаковать с помощью unzip в командной строке Linux несколько zip-архивов в один каталог. Вопреки возможным ожиданиям, "unzip *.zip" работать не будет, *.zip необходимо взять в кавычки: unzip "*.zip" В архивах могут быть файлы с одинаковыми именами. Чтобы избежать перезаписи: unzip -B "*.zip" "Unzip -B" в процессе распаковки перезаписывает файлы с одинаковыми именами, но сохраняет их резервные копии. Новые имена для этих файлов создаются добавлением тильды ("~") в конец изначальных названий файлов. Если имеется расширение, то "~" добавляется после него. Если этого недостаточно, после тильды ("~") прибавляется уникальная последовательность цифр (до 5 знаков). "Unzip -B" не слишком рабочее решение. Например, поскольку диапазон последовательностей цифр может израсходоваться (99999 знаков, или 65535 для 16-битных систем), резервный файл с максимальным числом диапазона после "~" в названии стирается и замещается без уведомления новой резервной копией ( Более подробно ). Число файлов в архиве может быть не всегда известно заранее или оно может быть больше диапазона доступных чисел, так что "Unzip -B" не лучший вариант. Переименование файлов с одинаковыми именами с помощью добавления "~" в конце имен, после расширения тоже не слишком удобно. Но другой встроенный вариант еще хуже. Если модификатор "-B" не используется, то каждый раз, как распаковывается файл с таким же именем как уже был извлечен, unzip спрашивает "replace example.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename:" ("заместить example.txt? да, нет, все, ни один, переименовать:"). Каждый раз нужно нажимать на "r" и каждый раз вводить новое имя. Так что для решения проблемы вероятно следует создать и использовать какой-то скрипт, bash или иной.