(Translated by https://www.hiragana.jp/)
Χειρισμός bot - Βικιεπιστήμιο Μετάβαση σしぐまτたうοおみくろん περιεχόμενο

Χειρισμός bot

Από Βικιεπιστήμιο

Πρώτ'αあるふぁπぱい'όλα, πρέπει νにゅーαあるふぁ εγκαταστήσουμε τたうηいーた « γλώσσα » python: όλα τたうαあるふぁ scripts της pywikipedia είναι γραμμένα σしぐま'αυτή τたうηいーた γλώσσα.

Πηγαίνουμε σしぐまτたうοおみくろん http://www.python.org: εκεί, εκτός από τたうοおみくろん python, θしーたαあるふぁ βρούμε κかっぱαあるふぁιいおた μみゅーιいおたαあるふぁ πληθώρα από πληροφορίες γがんまιいおた'αυτή τたうηいーた γλώσσα. Κάνουμε κかっぱλらむだιいおたκかっぱ σしぐまτたうοおみくろん DOWNLOAD κかっぱαあるふぁιいおた διαλέγουμε τたうοおみくろん νεότερο python: αυτή τたうηいーた στιγμή είναι τたうοおみくろん 2.5.1. Εφόσον έχουμε Windows, διαλέγουμε τたうοおみくろん Python 2.5.1 Windows installer.

Τたうοおみくろん εγκαθιστούμε όπως λέει (εγώ τたうοおみくろん έβαλα σしぐまτたうοおみくろん c:\python, γがんまιいおたαあるふぁ ευκολία) κかっぱαあるふぁιいおた... είμαστε έτοιμοι!

Τたうοおみくろん δεύτερο βήμα είναι ηいーた εγκατάσταση της pywikipedia, δηλαδή όλων τたうωおめがνにゅー script (bot = script, μみゅーεいぷしろん κάποιες δικές μας αλλαγές).

Πηγαίνουμε λοιπόν σしぐまτたうοおみくろん site Sourceforge.net, οおみくろん ακριβής σύνδεσμος είναι http://sourceforge.net/project/showfiles.php?group_id=93107 κかっぱαあるふぁιいおた μας φέρνει σしぐまτたうηいーた σελίδα της τελευταίας pywikipedia.

Κάνουμε κかっぱλらむだιいおたκかっぱ σしぐまτたうοおみくろん download: αυτό μας φέρνει σしぐまεいぷしろん μみゅーιいおたαあるふぁ άλλη σελίδα, όπου διαλέγουμε τたうοおみくろん snapshot-ΧΡΟΝ-ΜみゅーΗいーた-ΜみゅーΕいぷしろん.zip (μみゅーιいおたαあるふぁ κかっぱαあるふぁιいおた έχουμε windows). Τたうοおみくろん κατεβάζουμε, τたうοおみくろん αποσυμπιέζουμε κάπου κかっぱαあるふぁιいおた... εγώ προσωπικά τたうοおみくろん βάζω σしぐまεいぷしろん ένα ντοσιέ (πぱいοおみくろんυうぷしろん αποκαλώ wiki) μέσα σしぐまτたうοおみくろん ντοσιέ python (μみゅーεいぷしろん copy-paste).

Πρώτα αあるふぁπぱい'όλα, ό,τたうιいおた ακολουθεί ισχύει γがんまιいおたαあるふぁ τους χρήστες Windows.
Οおみくろんιいおた εντολές γがんまιいおたαあるふぁ τたうαあるふぁ bot δίνονται σしぐまεいぷしろん ένα παράθυρο DOS, πぱいοおみくろんυうぷしろん ανοίγουμε πληκτρολογώντας cmd σしぐまτたうοおみくろん κουτάκι run.

Τたうοおみくろん login.py είναι τたうοおみくろん πρώτο script πぱいοおみくろんυうぷしろん τρέχουμε. Μας ανοίγει τたうηいーたνにゅー πόρτα σしぐまτたうοおみくろん ΒべーたΛらむだ: αυτή ηいーた πόρτα δでるたεいぷしろんνにゅー θしーたαあるふぁ κλείσει, ακόμα κかっぱαあるふぁιいおた αあるふぁνにゅー κλείσουμε τたうοおみくろん παράθυρο (σταματώντας έτσι τたうοおみくろん bot). Μόνο αあるふぁνにゅー ξくしーαあるふぁνにゅーαあるふぁ-εκκινήσουμε τたうοおみくろんνにゅー Ηいーた/Υうぷしろん, θしーたαあるふぁ πρέπει νにゅーαあるふぁ ξανατρέξουμε τたうοおみくろん login.py.

Δでるたεいぷしろんνにゅー χρειάζεται νにゅーαあるふぁ πούμε τίποτα τたうοおみくろん ιδιαίτερο γがんまιいおたαあるふぁ αυτό τたうοおみくろん script: αφού πληκτρολογήσουμε:

login.py

μας ζητάει τたうοおみくろん συνθηματικό μας (password). Τたうοおみくろんυうぷしろん τたうοおみくろん δίνουμε κかっぱαあるふぁιいおた... έτοιμοι γがんまιいおたαあるふぁ νにゅーαあるふぁ δουλέψουμε!

Μόνο πぱいοおみくろんυうぷしろん, γがんまιいおたαあるふぁ νにゅーαあるふぁ δουλέψει, τたうοおみくろん login.py χρειάζεται μερικές πληροφορίες. Αυτές τις παίρνει από τたうοおみくろん επόμενο αρχείο (user-config.py).

(Γがんまιいおたαあるふぁ περισσότερες πληροφορίες, δείτε εδώ.)

user-config.py

[επεξεργασία]
mylang = 'el'
family = 'wiktionary'
usernames['wiktionary']['el'] = 'Lou bot'
console_encoding = 'utf-8'

Προσοχή, όμως: εάν χρησιμοποιούμε τたうοおみくろん notepad τたうωおめがνにゅー Windows, πρέπει νにゅーαあるふぁ αποθηκεύσουμε τたうοおみくろん κείμενο:

1. διαλέγοντας all files (κかっぱιいおた όχι τたうοおみくろん προτεινόμενο .txt: μόνο έτσι μπορούμε νにゅーαあるふぁ καλέσουμε τたうοおみくろん αρχείο μας fixes.py (κかっぱαあるふぁιいおた όχι fixes.py.txt...)
2. διαλέγοντας τたうοおみくろん utf-8 (κかっぱιいおた όχι τたうοおみくろん προτεινόμενο ANSI). Εάν δでるたεいぷしろんνにゅー τたうοおみくろん κάνουμε, νにゅーαあるふぁιいおた μみゅーεいぷしろんνにゅー δでるたεいぷしろんνにゅー θしーたαあるふぁ δούμε τたうηいーた διαφορά, όμως τたうοおみくろん replace.py δでるたεいぷしろんνにゅー θしーたαあるふぁ δεχτεί ποτέ νにゅーαあるふぁ κάνει τις αλλαγές τたうοおみくろんυうぷしろん, βγάζοντας διάφορα μηνύματα γがんまιいおたαあるふぁ λάθη...

Τたうοおみくろん replace.py χρησιμοποιείται γがんまιいおたαあるふぁ νにゅーαあるふぁ κάνει μαζικές αλλαγές (πぱいχかい. διορθώσεις) σしぐまτたうοおみくろん ΒべーたΛらむだ.

Αρχίζει τたうηいーた δουλειά τたうοおみくろんυうぷしろん « διαβάζοντας » τたうοおみくろん αρχείο fixes.py πぱいοおみくろんυうぷしろん βρίσκεται σしぐまτたうοおみくろん ίδιο ντοσιέ μみゅーεいぷしろん τたうοおみくろん ίδιο τたうοおみくろん script. Αυτό τたうοおみくろん αρχείο τたうοおみくろん ετοιμάζουμε εμείς, βάζοντας μέσα όλες τις αλλαγές πぱいοおみくろんυうぷしろん θέλουμε νにゅーαあるふぁ κάνουμε. Ακολουθεί ένα παράδειγμα ενός τέτοιου αρχείου:

# -*- 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

[επεξεργασία]

Τたうοおみくろん 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'Αυτόματη εισαγωγή άρθρων'
    (ή ιταλικών ουσιαστικών, ή αγγλικών ρημάτων, ή οτιδήποτε άλλο).
  • Γがんまιいおたαあるふぁ περισσότερες πληροφορίες, δείτε εδώ.

Αυτό τたうοおみくろん bot έχει φτιαχτεί από τたうοおみくろんνにゅー fr:Utilisateur:Kipmaster κかっぱαあるふぁιいおた βελτιωθεί από τたうοおみくろん fr:Utilisateur:Ftiercel. Θしーたαあるふぁ χρησιμοποιηθεί σしぐまτたうοおみくろん ελληνικό ΒべーたΛらむだ μόλις αποφασιστεί.

Ηいーた δυσκολία προέρχεται αあるふぁπぱい'τたうοおみくろん ότι είναι γραμμένο γがんまιいおたαあるふぁ σύστημα linux, εκτός κかっぱαあるふぁιいおた αあるふぁνにゅー κάποιος προγραμματιστής τたうοおみくろん μεταφράσει σしぐまτたうαあるふぁ windows...

Εδώ θしーたαあるふぁ βρείτε τたうοおみくろん tradInter doubleTracker.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 κかっぱαあるふぁιいおた...

Αυτό είναι μみゅーιいおたαあるふぁ προσπάθεια αυτόματης κατηγοριοποίησης τたうωおめがνにゅー λέξεων. Έχει εφαρμοστεί σしぐまτたうαあるふぁ ελληνικά από τたうοおみくろん γαλλικό.

Τたうοおみくろん script βρίσκεται εδώ.