Χειρισμός bot
python
[επεξεργασία]
Πρώτ'
Πηγαίνουμε
pywikipedia
[επεξεργασία]
Πηγαίνουμε λοιπόν
Κάνουμε
login.py
[επεξεργασία]- Πρώτα
α π 'όλα, ό,τ ι ακολουθεί ισχύειγ ι α τους χρήστες Windows. Ο ι εντολέςγ ι α τ α bot δίνονταισ ε ένα παράθυρο DOS,π ο υ ανοίγουμε πληκτρολογώντας cmdσ τ ο κουτάκι run.
login.py
μας ζητάει
Μόνο
(
user-config.py
[επεξεργασία]mylang = 'el' family = 'wiktionary' usernames['wiktionary']['el'] = 'Lou bot' console_encoding = 'utf-8'
Προσοχή, όμως: εάν χρησιμοποιούμε
- 1. διαλέγοντας all files (
κ ι όχιτ ο προτεινόμενο .txt: μόνο έτσι μπορούμεν α καλέσουμετ ο αρχείο μας fixes.py (κ α ι όχι fixes.py.txt...) - 2. διαλέγοντας
τ ο utf-8 (κ ι όχιτ ο προτεινόμενο ANSI). Εάνδ ε ν τ ο κάνουμε,ν α ι μ ε ν δ ε ν θ α δούμετ η διαφορά, όμωςτ ο replace.pyδ ε ν θ α δεχτεί ποτέν α κάνει τις αλλαγέςτ ο υ , βγάζοντας διάφορα μηνύματαγ ι α λάθη...
replace.py
[επεξεργασία]Αρχίζει
# -*- coding: utf-8 -*- import codecs import sys, re fixes = { 'katigories': { 'regex': False, 'msg': { 'el':u'Μετονομασία κατηγορίας', }, 'replacements': [ (u'[[Κατηγορία:Ανθρώπινο σώμασ τ α γαλλικά]]', u'[[Κατηγορία:Ανθρώπινο σώμα (γαλλικά)]]'), (u'[[Κατηγορία:Αστερισμοίσ τ α γαλλικά]]', u'[[Κατηγορία:Αστερισμοί (γαλλικά)''), ] }, }
Μερικές εξηγήσεις
[επεξεργασία]Όταν ετοιμάζω ένα αρχείο fixes.py, αντιγράφω αυτό
Τ ο 'katigories' είναιτ ο γενικό όνομαπ ο υ θ α γράψωσ τ η ν εντολή.
- Υπάρχει τέτοιο όνομα διότι μπορεί
τ ο αρχείον α περιέχει πολλές τέτοιες κατηγορίες - (διευκολύνεται έτσι
η ανάγνωσήτ ο υ ).
Τ ο 'el' σημαίνει βέβαια ότι... μιλάμε ελληνικά!- Ακολουθεί
ο τίτλος της εργασίαςπ ο υ κάνουμε. Αυτόςθ α εμφανιστεί στις « Πρόσφατες αλλαγές » (εδώ: Μετονομασία κατηγορίας) - Κάτω από
τ ο 'replacements', βλέπουμε τις αλλαγές.
- Αρχίζουν
μ ε u': αυτό λέεισ τ ο bot ότι ό,τ ι ακολουθεί είναι γραμμένοσ ε Unicode. - Μετά βλέπουμε αυτά
π ο υ θέλουμεν α αλλάξουμε: πρώτα,τ ο παλιό κείμενο, μετά,τ ο νέο.
Εντολή
[επεξεργασία]replace.py -fix:katigories -xml:el-dump
Εξηγήσεις
[επεξεργασία]- Πρώτα γράφουμε
τ ο όνοματ ο υ script : replace.py Τ ο υ δίνουμετ η ν πρώτητ ο υ εντολή: -fix:katigories
- Αυτό λέει
σ τ ο botν α διαβάσειτ ο αρχείο fixes.py,ν α β ρ ε ι τ η ν κατηγορίαπ ο υ θέλουμε (εδώ: katigories),κ α ι ν α κάνει ό,τ ι γράφεται κάτω από αυτόντ ο ν τίτλο.
- Ακολουθεί
τ ο : xml:el-dump
- Αυτό δίνει
τ η ν εντολήσ τ ο replace.pyν α διαβάσειτ ο dump (=τ ο συμπιεσμένο σύνολοτ ω ν λέξεωντ ο υ Β Λ ). Τ ο el-dump είναιτ ο όνομαπ ο υ τ ο υ έδωσα εγώ,γ ι α ευκολία.Τ ο κανονικό είναι κάτισ α ν elwiktionary.20070819-pages-articles.xml.bz2!
- Πατάμε
τ ο "enter" !Τ ο replace.py διαβάζει ό,τ ι πρέπειν α κάνει, περνάει μερικά λεπτάν α διαβάζειτ ο xml, βρίσκει τις λέξειςπ ο υ χρειάζονται αλλαγήκ α ι ... - ...προτείνει
τ η ν αλλαγή της λέξης! Απαντούμε «ν α ι », περιμένει μερικά δευτερόλεπτα, κάνειτ η ν αλλαγήκ α ι ... προτείνεικ ι άλλη λέξη! Εδώ σταματάμε, ανοίγουμε τις « Πρόσφατες αλλαγές », ζητούμετ η ν « εμφάνισητ ω ν bots »,κ α ι ελέγχουμεα ν η αλλαγή είναι σύμφωνημ ε αυτόπ ο υ ζητήσαμε.
- (
Γ ι α ευκολία, ανοίγουμετ η ν επιτήρηση IRC, όπου αρκείν α κάνουμεκ λ ι κ σ τ η λέξηπ ο υ μόλις τροποποιήθηκε,γ ι α ν α τ η ν δούμε μέσασ τ ο ν browser μας.) - Ξαναρχίζουμε
μ ε μερικές ακόμα λέξειςκ α ι ...
- ... μετά, αφού βεβαιωθούμε ότι όλα πάνε καλά, πληκτρολογούμε a (= always).
- Προσοχή, κίνδυνος:
τ ο always λέεισ τ ο botν α κάνει όλες τις αλλαγές χωρίςν α ζητάει άδειαγ ι α κάθε λέξη... εξούο κίνδυνος!)
Παρατηρήσεις
[επεξεργασία]Γ ι α τ η μετονομασία κατηγοριών,θ α μπορούσαμεν α χρησιμοποιήσουμε άλλο bot...Ν α μ η ν ξεχάσετεν α αποθηκεύσετετ ο fixes.pyσ ε utf-8!Γ ι α περισσότερες πληροφορίες, δείτε εδώ.
pagefromfile.py
[επεξεργασία]
Μπορεί
Ας δούμε πρώτα
0000 '''jour''' {{=fr=}} {{fr-κλίσ-rég}} {{-ουσ-|fr|jour}} '''{{PAGENAME}}''' {{α }} * [[μέρα]] 1111 0000 '''nuit''' {{=fr=}} {{fr-κλίσ-rég}} {{-ουσ-|fr|nuit}} '''{{PAGENAME}}''' {{θ }} * [[νύχτα]] 1111
Ορίστε
pagefromfile.py -start:0000 -end:1111 -titlestart:''' -titleend:''' -file:111.txt -log -notitle
Τ ο -start: λέεισ τ ο bot πού αρχίζει κάθε σελίδαπ ο υ θέλουμεν α βάλουμε (εδώ: 0000).Τ ο -end: κάνειτ ο ίδιομ ε τ ο τέλος της σελίδας (εδώ: 1111).Τ ο -titlestartκ α ι -titleendτ ο υ λένε πού αρχίζεικ α ι πού τελειώνειο τίτλος της σελίδαςπ ο υ θέλουμεν α δημιουργήσουμε (εδώ: αρχίζειμ ε « ''' »κ α ι τελειώνει επίσηςμ ε « ''' »).Τ ο -file: παρουσιάζειτ ο όνοματ ο υ αρχείουπ ο υ περιέχει τις σελίδεςπ ο υ βάζουμε (εδώ: 111.txt).Τ ο -logδ ε ν είναι υποχρεωτικό: μας επιτρέπειν α δούμε ποιες λέξεις δημιουργήθηκαν<- Τέλος,
τ ο -notitle λέεισ τ ο botν α μ η ν βάλειτ ο ν τίτλο μέσασ τ η σελίδαπ ο υ δημιουργεί.
- (Εξήγηση:
ο « τίτλος »δ ε ν χρειάζεταιν α βρίσκεταισ τ η ν αρχήτ ο υ κειμένουπ ο υ εισάγουμε. Μπορούμεν α τ ο ν βάλουμεσ τ ο τέλος! Εκείπ ο υ είναι εξαιρετικά χρήσιμο είναιη δημιουργία ανακατευθύνσεων.)
Παρατηρήσεις
[επεξεργασία]- Εάν
η σελίδα υπάρχει ήδη,τ ο botτ η ν παραλείπει (εκτόςκ ι α ν βάλουμετ η ν παράμετρο -force...). Γ ι α τ η δημιουργίατ ο υ αρχείου σελίδων, υπάρχουν διάφορες μέθοδοι. Μπορείτεπ χ .ν α συμβουλευτείτετ η σελίδατ ο υ Geraki (διαχειριστήσ τ η ν Βικιπαίδεια).- Καλά
θ α είναιν α αλλάξετε ελαφράτ ο αρχείο pagefromfile.py.Τ ο επεξεργάζεστεμ ε ένα απλό πρόγραμμα (π χ .τ ο notepadτ ω ν windows)κ α ι ,σ τ α μηνύματα (msg), προσθέτετετ η γραμμή'el': u'Αυτόματη εισαγωγή άρθρων'
(ή ιταλικών ουσιαστικών, ή αγγλικών ρημάτων, ή οτιδήποτε άλλο). Γ ι α περισσότερες πληροφορίες, δείτε εδώ.
tranInter.py
[επεξεργασία]
Αυτό
Εδώ
Χρήση
[επεξεργασία]- Εγκαθιστούμε (
α ν δ ε ν έχει ήδη γίνει)τ η γλώσσα perl: http://www.perl.org'.Ο απευθείας σύνδεσμος είναι: http://www.activestate.com/store/activeperl/download/. Γράφουμετ α στοιχεία μας (δ ε ν είναι υποχρεωτικό)κ α ι , μετά,κ λ ι κ σ τ ο "Continue". Διαλέγουμε αυτόπ ο υ χρειαζόμαστε (Windows x86 msi,γ ι α ν α τ ο δοκιμάσουμεσ τ α windows - αλλιώς,τ ο packageπ ο υ ταιριάζεισ τ ο linux μας).Τ ο εγκαθιστούμε. - Τρέχουμε
τ ο script getall.pl. Αυτό δημιουργεί ένα αρχείοπ ο υ περιέχει όλες τις λέξεις,σ ε όλες τις γλώσσες. - Μέσα
σ τ ο tranInter.py, αλλάζουμετ η γραμμήftout = open ('./2007-7-25.txt', 'r')
κ α ι βάζουμετ ο όνοματ ο υ αρχείουπ ο υ μόλις αποκτήσαμε (δεςτ η ν προηγούμενη γραμμή) απότ ο getall.pl. - Μετά, γράφουμε
τ η ν εντολή: tranInter.pyκ α ι ...
catauto.py
[επεξεργασία]
Αυτό είναι