LINUX.ORG.RU
ФорумTalks

distrowatch.com испортился


0

1

Сабж. Теперь в lynx'е перенаправляет на урезанную мобильную версию (http://distrowatch.com/index-mobile.php) - и всё тут.

Но, я тут взял и собрал скрипт, который, вероятно, будет полезен и другим юзерам lynx'а:

#!/bin/bash
wget -q -O- http://distrowatch.com/news/dwd.xml | \
        grep ^\<title | \
        sed 's/^<title>//g;s/<\/title>$//g'
wget -q -O- http://distrowatch.com/news/dwp.xml | \
        grep ^\<title | \
        sed 's/^<title>//g;s/<\/title>$//g'
Пример работы:
> ./distrowatchrss
DistroWatch.com: Distributions
DistroWatch
11/22 Fedora 25
11/22 Clonezilla 2.5.0-5
11/20 NAS4Free 11.0.0.4
11/20 Antergos 2016.11.20
11/19 Manjaro 16.10.2
11/19 ArchBang 1116-beta "Lite"
11/19 4MLinux 21.0
11/18 LinHES 8.4.2
11/18 Zorin 12
11/18 Tails 3.0-alpha1
11/17 NethServer 7.2-rc2
11/17 Oracle 7.3
DistroWatch.com: Packages
DistroWatch
11/23 cinnamon 3.2.2
11/22 plasma-desktop 5.8.4
11/21 lxde-common 0.99.2
11/21 VirtualBox 5.1.10
11/21 ruby 2.3.3
11/21 linux 4.8.10
11/19 avidemux 2.6.15
11/18 gtk+ 3.22.4
11/18 gnupg 2.1.16
11/18 NVIDIA 375.20
11/18 thunderbird 45.5.0
11/18 calibre 2.72.0

★★★★★
Ответ на: комментарий от h578b1bde

Ну, как я уже говорил, lynx конвертирует на лету из любой кодировки в кодировку локали. Какая бы ни была кодировка страницы - мне он показывает в KOI8-R.

saahriktu ★★★★★
() автор топика

а в links2 все ок.

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Зачем мне что-то другое если у меня в шрифте 256 символов?

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от h578b1bde

Нет, я не он. И я писал на ЛОР из ядерной консоли с локалью KOI8-R через lynx ещё до появления его на ЛОРе.

saahriktu ★★★★★
() автор топика

grep | sed? Ты серьёзно? Бить тебя мокрыми тряпками!

for i in dwd.xml dwp.xml; do 
curl -s http://distrowatch.com/news/$i | sed -n '/title/s/<title>\([^<]*\)<\/title>/\1/p'
done

PS: парзить (X|HT)ML при помощи RE — мне уже стыдно.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Может это и (относительно) медленно, зато просто и юниксвейно. Пайпами юниксвей не испортишь.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

С тех пор многое изменилось, в частности русификация. Не ломает менять utf8, которая по умолчанию сейчас в том числе и на BSD, на кои в ручном режиме?

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Ну, у меня есть скрипты, через которое много автоматом приходит в KOI8-R. lynx тоже всё в KOI8-R показывает, и сохраняет в KOI8-R дампы открытых страниц через 'p'.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от entefeed

Хакер, но не крякер. Я не знаю как ломать, и, соответственно, не могу этому научить программу.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от beastie

Твоя смешнявочка выросла из вполне логичного интерактива - сделал cat file, получил неожиданную портянку и поленился искать глазами, прожал ^P, дописал | grep govno. Все, кончай эту хрень про миллисекунды разбрасывать.

entefeed ☆☆☆
()
Ответ на: комментарий от entefeed

Вот и выросло поколение ... «почему на моём Intel i256 с 32PB рам всё тормозит?» ;)

PS: а в своё время я лялих с иксами на 486 c 8M рамы гонял (и 512k видеопамяти)...

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от beastie

Это мозг у тебя тормозит, старый слишком, не поспевает. Подвинься на пенсию, а то нам тут армию хипсторов на ноде с электроном в зубах сажать некуда.

entefeed ☆☆☆
()
Ответ на: комментарий от entefeed

нам тут армию хипсторов на ноде с электроном в зубах сажать некуда

Посади их на кол диету.

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 1)
Ответ на: комментарий от beastie

sed -n '/title/s/<title>\([^<]*\)<\/title>/\1/p'

Не сработает, если на строке с <title> есть ещё что-то помимо этого тега. Тебе нужно заматчить в pattern space всю строку, т. е. .* в начале и в конце регулярки.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от entefeed

армию хипсторов на ноде с электроном в зубах

представил эту армию. сажайте ее в биореактор, ей там самое место. из-за них веб страницы по 500мб стали в памяти занимать.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от entefeed

Я не крякер чтобы крякать. И тем более я не вебдевелопер. А сайты строят именно вебдевелоперы. И по Вашей логике в их кряканьи разбираются именно они. Вот и ищите вебдевелопера.

Мой сайт в этом смысле железобетонный, поскольку там просто статика.

saahriktu ★★★★★
() автор топика

Угадал автора по первому абзацу.

Sectoid ★★★★★
()
Ответ на: комментарий от h578b1bde

Это виртуал Эдика.

Не похоже. Эдик хоть веселый был, а этот уныл чуть более, чем полностью

Sectoid ★★★★★
()
Ответ на: комментарий от intelfx

Не сработает, если на строке с <title> есть ещё что-то помимо этого тега. Тебе нужно заматчить в pattern space всю строку, т. е. .* в начале и в конце регулярки.

На каждый чих регулярок не напасешься.

Кстати, вроде же доказано, что регулярками в принципе не возможно корректно распарсить произвольный html, даже валидный.

praseodim ★★★★★
()
Ответ на: комментарий от praseodim

Да понятно это всё. Но то, что HTML не является регулярным языком, есть факт сугубо теоретический, а то, что на строке могут оказаться ещё и другие теги — вполне себе осязаемая возможность.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

saahriktu
Пользуясь случаем, спрошу.
Чем мотивировано предпочтение lynx? Есть какие-то киллерфичи или это просто привычка? Тот же links поддерживает вкладки, таблицы и JS. И вроде как развивается активнее чем lynx.

Deleted
()
Ответ на: комментарий от beastie

Так ещё лучше:

#!/usr/bin/perl
use LWP::Simple;
use XML::Simple;

@rssxmlfiles = ('dwd.xml', 'dwp.xml');

foreach $nextxmlfile (@rssxmlfiles){
        my $url = "http://distrowatch.com/news/" . $nextxmlfile;
        my $content = get $url;
        die "Couldn't get $url" unless defined $content;
        my $xmlcontent = XMLin($content,);
        print "$xmlcontent->{channel}->{title} \n";
        for (@{$xmlcontent->{channel}{item}}) {
                print "$_->{title} \n";
        }
}

> ./distrowatchrss2.pl
DistroWatch.com: Distributions
11/23 FreeNAS 10-BETA2
11/22 Fedora 25
11/22 Clonezilla 2.5.0-5
11/20 NAS4Free 11.0.0.4
11/20 Antergos 2016.11.20
11/19 Manjaro 16.10.2
11/19 ArchBang 1116-beta "Lite"
11/19 4MLinux 21.0
11/18 LinHES 8.4.2
11/18 Zorin 12
11/18 Tails 3.0-alpha1
11/17 NethServer 7.2-rc2
DistroWatch.com: Packages
11/23 devede 4.8.5
11/23 cinnamon 3.2.2
11/22 plasma-desktop 5.8.4
11/21 lxde-common 0.99.2
11/21 VirtualBox 5.1.10
11/21 ruby 2.3.3
11/21 linux 4.8.10
11/19 avidemux 2.6.15
11/18 gtk+ 3.22.4
11/18 gnupg 2.1.16
11/18 NVIDIA 375.20
11/18 thunderbird 45.5.0
saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Deleted

И привычен и удобен. Удобно дампить текст открытых страниц через 'p'. Вкладки и JS в links'е? Полноценной поддержки JS нет даже в elinks'е.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Вкладки и JS в links'е? Полноценной поддержки JS нет даже в elinks'е.

Пардон, попутал с elinks.

Deleted
()

Странно, наркоман ты, а испортился distrowatch... Впрочем, он всё равно не нужен :)

WereFox ★☆
()
Ответ на: комментарий от saahriktu

Так и запишем: «Не разрабатываешь динамические сайты - не программист».

Не-программисты по определению не могут разрабатывать динамические сайты. Хотя, после того как HTML+CSS стал тьюринг-полным — всё это формальности, да.

h578b1bde ★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.