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

 

Адаптивная HTML таблица

 

Если HTML таблица содержит слишком много данных, она становится шире, чем доступное пространство на странице и начинает за него выходить. Чтобы исправить ситуацию, можно добавить таблице горизонтальную прокрутку. Пример: 12345678910 Table_data_1 Table_data_2 Table_data_3 Table_data_4 Table_data_5 Table_data_6 Table_data_7 Table_data_8 Table_data_9 Table_data_10 HTML / XHTML. Код: <table> <tr> <th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th> <th>6</th> <th>7</th> <th>8</th> <th>9</th> <th>10</th> </tr> <tr> <td>Table_data_1</td> <td>Table_data_2</td> <td>Table_data_3</td> <td>Table_data_4</td> <td>Table_data_5</td> <td>Table_data_6</td> <td>Table_data_7</td> <td>Table_data_8</td> <td>Table_data_9</td> <td>Table_data_10</td> </tr> </table> CSS. Код: table {display: block; overflow-x: auto;} /* Дополнительные CSS, просто для приведения примера к некоему внешнему виду: */ table {border-collapse: collapse;} table td,th {padding: 10px; border: 1px #000 solid;} Примечание: CSS свойство display: block делает так, что таблица занимает по ширине только столько пространства, сколько ей нужно, чтобы вместить данные без визуальных искажений. Не больше, не растягиваясь по всей ширине доступного пространства на странице. Даже если в CSS код добавлен width: 100%. Пример: 123 Table_data_1 Table_data_2 Table_data_3 [ 1 ] А так же в Netscape 9.0. [ 2 ] А так же в Netscape 9.0.

Вырезать фрагмент из видео. FFmpeg

 

Вырезать фрагмент из видео с помощью ffmpeg: Есть два способа как вырезать фрагмент из видео файла с помощью ffmpeg. Первый хоть сам по себе и хорош, более того - быстрее, однако иногда в результате получаются файлы с некоторыми дефектами. Для этих случаев существует второй способ вырезать фрагмент из видео: он значительно более медленный, получающиеся файлы больше, но они в общем всегда соответствуют уровню качества файлов, из которых их извлекали. Способ : 1 ffmpeg -ss <начало> -t <продолжительность> -i in1.avi -vcodec copy -acodec copy out1.avi Способ : 2 ffmpeg -ss <начало> -t <продолжительность> -i in1.avi -sameq out1.avi - <начало> - где начинается фрагмент видео файла, который будет вырезаться с помощью ffmpeg. Формат: 00:00:00 - часы:минуты:секунды - чч:мм:сс - <продолжительность> - продолжительность фрагмента видео файла, который будет вырезаться с помощью ffmpeg. Формат: 00:00:00 - часы:минуты:секунды - чч:мм:сс Примеры ffmpeg -ss 01:19:00 -t 00:05:00 -i in1.avi -vcodec copy -acodec copy out1.avi ffmpeg -ss 01:19:00 -t 00:05:00 -i in1.avi -sameq out1.avi - ffmpeg вырезает из видео файла фрагмент, который начинается с 1 часа 19 минут 0 секунд. Продолжительность вырезаемого фрагмента видео 5 минут 0 секунд. О ffmpeg: ( Home page ) ( Список поддерживаемых форматов файлов и кодеков )