Σελίδα 10 από 78
Re: PirateGov
Δημοσιεύτηκε: 29 Ιούλ 2012, 16:56
από qwertyuiopasdfghjklz
qwertyuiopasdfghjklz έγραψε:Και μια τεχνική ερώτηση. Προσπαθώ να κάνω wget κάποια κομμάτια από το site της βουλής, και δεν με αφήνει (γιατί μάλλον το wget δεν δημιουργεί session id όπως ο browser). Ξέρει κανείς κανένα άλλο unix command εργαλείο που να προσομοιώνει ένα browser και να μπορεί να λαμβάνει πληροφορία από το site της βουλής;
έψαξα για wget browser emulation και βρήκα
αυτό.
wget -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"
λες να παίζει;
Re: PirateGov
Δημοσιεύτηκε: 29 Ιούλ 2012, 18:42
από qwertyuiopasdfghjklz
qwertyuiopasdfghjklz έγραψε:qwertyuiopasdfghjklz έγραψε:Και μια τεχνική ερώτηση. Προσπαθώ να κάνω wget κάποια κομμάτια από το site της βουλής, και δεν με αφήνει (γιατί μάλλον το wget δεν δημιουργεί session id όπως ο browser). Ξέρει κανείς κανένα άλλο unix command εργαλείο που να προσομοιώνει ένα browser και να μπορεί να λαμβάνει πληροφορία από το site της βουλής;
έψαξα για wget browser emulation και βρήκα
αυτό.
wget -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"
λες να παίζει;
Ένα άλλο πολύ ωραίο είναι και το
curlAndy Cobaugh έγραψε:On 2011-07-27 at 11:00, J.Lance Wilkinson (
[email protected] ) said:
> I have a need to secure a COSIGN protected resource from a command line
> (download a protected file).
>
> What do I need to do, in WGET or cURL, or whatever, to access a cosign
> protected resource from a Unix/Linux command line?
>
> I would prefer the net effect to be non-interactive, at worst prompting
> for the password or possibly the userid and password to be used in the
> Cosign authentication. E.g.,
>
> $ get_protected_resource.sh
https://host/protected/path/resource user [pwd]
>
> Suggestions? Code already available? Where to start with Roll My Own?
# get your cookies
curl -L -b /tmp/cookies.txt -c /tmp/cookies.txt
https://yourcosignlogin.com# attempt to login
curl -L -b /tmp/cookies.txt -c /tmp/cookies.txt
https://yourcosignlogin.com/cosign.cgi \
--data "login=username&password=password"
# now access your protected site
curl -L -b /tmp/cookies.txt -c /tmp/cookies.txt
https://someothersite.com/pathtoresourceI may be missing something, and it's been a while since I wrote this, but
that's basically all our nagios check scripts do to check that our cosign
login cgi is working and that a particular protected site is working
correctly. You might have to change the GET variables as appropriate for
your site. Bear in mind the usual security precautions about passing a
password to a command like that or storing a password in a script.
--andy
Δείτε εδώ ένα ωραίο συγκριτικό
curl vs wget.
Και διάφορα άλλα
εργαλεία, όλα υποψήφια για να χρησιμοποιηθούν στο Pirategov.
Και κάποια σκριπτακια σε bash
[1] [2]
Re: PirateGov
Δημοσιεύτηκε: 29 Ιούλ 2012, 19:03
από qwertyuiopasdfghjklz
Ελευθερώστε το wiki των πειρατών, για να γραφτεί κάποιο pirategov bot, σε bash και curl.
Re: PirateGov
Δημοσιεύτηκε: 29 Ιούλ 2012, 19:39
από qwertyuiopasdfghjklz
Ο κώδικας είχε μείνει εδώ:
Κώδικας: Επιλογή όλων
#!/bin/bash
# xrhsh ths sed -e s/'\f'//g gia na diagrafoun oi control xaraktires
if [ "$1" = "" ]; then
echo "usage: "$0" to_deltio.pdf"
exit
fi
pdftotext -raw $1 mydeltio
a=`grep -n "ΥΠΟΥΡΓΕΙΟ" mydeltio|cut -f1 -d":"`
ll=`cat mydeltio|wc -l`
a=`echo $a" "$ll`
echo $a
b=1
for i in $a
do
d=`expr $i - $b`
ii=`expr $i - 1`
head -$ii mydeltio|tail -$d > tempor.$ii
title=`head -1 tempor.$ii|cut -f2 -d" "|cut -f1 -d","|sed -e s/\\'\f\\'//g`
mv tempor.$ii UPOURGEIO."$title".$ii
echo ""
echo "created UPOURGEIO.$title".$ii
echo ""
echo "searching NOMOSXEDIA"
nomosx=`grep -n ^[123456789][0123456789.][.\ ] UPOURGEIO."$title".$ii|cut -f1 -d":"`
ns=`cat UPOURGEIO."$title".$ii|wc -l`
nomosx=`echo $nomosx" "$ns`
echo $nomosx
bn=1
for nom in $nomosx
do
dn=`expr $nom - $bn`
iin=`expr $nom - 1`
head -$iin UPOURGEIO."$title".$ii|tail -$dn > temponom.$ii
etoim=`grep "για συζήτηση" temponom."$ii"`
if [ "$etoim" = "" ]; then
etoim=`grep "για ψήφιση" temponom."$ii"`
if [ "$etoim" = "" ]; then
mv temponom.$ii UPOURGEIO."$title"."$ii"_"$nom"
else
mv temponom.$ii UPOURGEIO."$title"."$ii"_"$nom".psifisi
fi
else
mv temponom.$ii UPOURGEIO."$title"."$ii"_"$nom".sizitisi
fi
bn="$nom"
done
b="$i"
done
Αν βέβαια το rss δουλεύει σωστά, ίσως να μην χρειαστεί και καθόλου ο παραπάνω κώδικας.
Αυτό που πρέπει να δούμε τώρα είναι πως θα χρησιμοποιήσουμε την curl για να πάρουμε τα δεδομένα από την βουλή, και πως θα την χρησιμοποιήσουμε επίσης για να κάνουμε login στο wiki και να εισάγουμε τα δεδομένα εκεί.
Aν τα καταφέρουμε, μετά έτοιμο το pirategov bot!

Και φυσικά παρόμοιος κώδικας μπορεί να χρησιμοποιηθεί και για το wikinomia.
ένα ωραίο παράδειγμα κώδικα που χρησιμοποιεί curl από τον
Chris PooleΚώδικας: Επιλογή όλων
#!/bin/bash -
cookies='cookies.txt'
username=xxxxxx
password=xxxxxx
loginpage='https://weblogin.mydomain/'
wantedpage='http://www.lancs.mydomain/event.php'
# GET login page, save any cookies
curl -s "$loginpage" -c $cookies > /dev/null 2>&1
# POST credientials to login page, loading and saving cookies again
curl -s -b $cookies -d "login=$username&password=$password" "$loginpage" -c $cookies > /dev/null 2>&1
# GET wanted page, loading and saving cookies, following any redirects
curl -s -L -b $cookies -c $cookies "$wantedpage" > /dev/null 2>&1
curl -s -b $cookies -c $cookies -d "[stuff to POST]" "$wantedpage" > /dev/null 2>&1
Re: PirateGov
Δημοσιεύτηκε: 29 Ιούλ 2012, 23:08
από qwertyuiopasdfghjklz
qwertyuiopasdfghjklz έγραψε:Αυτό που πρέπει να δούμε τώρα είναι πως θα χρησιμοποιήσουμε την curl για να πάρουμε τα δεδομένα από την βουλή
Κώδικας: Επιλογή όλων
curl -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" http://www.hellenicparliament.gr/rssfeed/RssSubmittedBills.aspx > rssfeed
ενώ κάποιο pdf το λαμβάνουμε ως εξής
Κώδικας: Επιλογή όλων
curl -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" "http://www.hellenicparliament.gr/UserFiles/c8827c35-4399-4fbb-8ea6-aebdc768f4f7/%CE%88%CE%B3%CE%B3%CF%81%CE%B1%CF%86%CE%BF%20%287680024%29.pdf" > my.pdf
Το σημαντικό ήταν να βάλουμε το -A "Mozilla/5.0 (compatible; MSIE 7.01; Windows NT 5.0)" αλλιώς δεν παίζει. Φαντάζομαι και το wget γιαυτό δεν έπαιζε, αν το συντάξουμε σαν wget -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" μάλλον θα παίξει.
Re: PirateGov
Δημοσιεύτηκε: 29 Ιούλ 2012, 23:37
από qwertyuiopasdfghjklz
Νομίζω τα πράγματα πήραν τον δρόμο τους, με δυο-τρια grep και λίγο ακόμα κώδικα έχουμε αυτό που θέλουμε.
Οπότε αν θέλετε το pirategov σε μορφή wiki, μπορει να φτιαχτεί και να τρέξει ένα bot που θα βάζει μέσα στο wiki την πληροφορία της βουλής, για περαιτέρω επεξεργασία-ψηφοφορία από τους πειρατές. Τώρα αν δεν το θέλετε σε wiki, πρέπει να πεί κάποιος αρμόδιος σε τι μορφή το θέλετε, για να είναι το τελικό κείμενο του bot συμβατό με την μορφή που θέλετε.
Re: PirateGov
Δημοσιεύτηκε: 30 Ιούλ 2012, 02:07
από qwertyuiopasdfghjklz
Και υπάρχει και αυτό
http://www.mediawiki.org/wiki/Extension ... er/wikiRSSή ακόμα καλύτερα αυτό
http://www.mediawiki.org/wiki/Rsshttp://www.mediawiki.org/wiki/Rss#Exampleλύσεις υπάρχουν λοιπόν, αρκεί οι διαχειριστές να ξεκουνήσουν λίγο ή αν δεν μπορούν να δωσουν τα κλειδιά σε κάποιον άλλο.
Re: PirateGov
Δημοσιεύτηκε: 30 Ιούλ 2012, 02:59
από qwertyuiopasdfghjklz
Και ένας απλό προσχέδιο κώδικα που μας δίνει ως αποτέλεσμα τα pdf files στα οποία αναφέρεται το rssfeed (έτσι ώστε να τα κάνουμε μετα wget και pdftotext)
Κώδικας: Επιλογή όλων
#!/bin/bash
wget -q -O myrss -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" http://www.hellenicparliament.gr/rssfeed/RssSubmittedBills.aspx
a=`awk 'BEGIN{RS="<item>"}
{
gsub(/.*<link>|<\/link>.*/,"")
print
}' myrss`
for i in $a
do
wget -q -O linki -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" $i
grep "Το φωτοτυπημένο" linki| awk 'BEGIN{RS="/UserFiles/"}
{
print $0
}'|cut -f1 -d"\""|grep pdf
done
Re: PirateGov
Δημοσιεύτηκε: 30 Ιούλ 2012, 09:49
από qwertyuiopasdfghjklz
Και ολοκληρωμένο.
Βλέπει το rssfeed της βουλής, ακολουθάει τα λινκς που αφορούν το κάθε νομοσχέδιο, ανακαλύπτει τα pdf που αφορούν τα νομοσχέδια, τα κατεβάζει και τα κάνει text.
Κώδικας: Επιλογή όλων
#!/bin/bash
wget -q -O myrss -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" http://www.hellenicparliament.gr/rssfeed/RssSubmittedBills.aspx
a=`awk 'BEGIN{RS="<item>"}
{
gsub(/.*<link>|<\/link>.*/,"")
print
}' myrss`
for i in $a
do
wget -q -O linki -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" $i
b=`grep "Το φωτοτυπημένο" linki| awk 'BEGIN{RS="/UserFiles/"}
{
print $0
}'|cut -f1 -d"\""|grep pdf|sed -e "s/ /_/g"`
for j in $b
do
c=`echo $j|sed -e "s/_/ /g"`
d=`echo "http://www.hellenicparliament.gr/UserFiles/"$c`
e=`echo $j|cut -f2 -d"/"`
wget -q -O $e -U " Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)" "$d"
pdftotext -raw $e
done
done
Re: PirateGov
Δημοσιεύτηκε: 30 Ιούλ 2012, 11:20
από qwertyuiopasdfghjklz
Όπως βλέπετε, αν οι ανώνυμοι μπορούσαν να συμμετέχουν ελεύθερα στις ομάδες εργασίας του κόμματος, χωρίς την γραφειοκρατία των κλειδοκρατόρων και χωρίς άλλους περιορισμούς, το pirategov θα ήταν ήδη έτοιμο.
Οι επώνυμοι; Ακόμα τρίβουν.....
