From df484fd9b6640639c3a6098814b41628d02e5d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Thu, 6 May 2021 18:21:15 +0200 Subject: Add perlmonks, irc nodes --- run/perlmonks | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 run/perlmonks (limited to 'run/perlmonks') diff --git a/run/perlmonks b/run/perlmonks new file mode 100644 index 0000000..1f1e5b3 --- /dev/null +++ b/run/perlmonks @@ -0,0 +1,38 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use LWP::UserAgent (); +use Time::Piece; +use XML::LibXML; + +# Retrieve XML +my $ua = LWP::UserAgent->new(timeout => 5); +$ua->ssl_opts(verify_hostname => 0); +$ua->env_proxy; +$ua->agent(''); +my $a = 'https://www.perlmonks.org/?node_id=30175'; +my $r = $ua->get($a); +die $r->status_line if not $r->is_success; + +# Parse XML +my $dom = XML::LibXML->load_xml(string => $r->decoded_content); + +# Print HTML representation of each node +my $i; +for my $node ($dom->findnodes('/NEWESTNODES/NODE')) { + my $d = Time::Piece->strptime(($node->findnodes('./@createtime'))[0]->to_literal, '%Y%m%d%H%M%S')->strftime('%a, %e %B %Y %H:%M:%S UTC'); + my $f = ($node->findnodes('./@authortitle'))[0]->to_literal; + (my $s = $node->to_literal) =~ s/^\s+|\s+$//; + next if $s eq $f; # Skip home nodes + my $l = 'https://www.perlmonks.org/?node_id=' . ($node->findnodes('./@node_id'))[0]->to_literal; + print < +
Date: $d
+
From: $f
+ + +HTML + last if ++$i >= 5; +} -- cgit v1.2.3