A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
V tomto clanku budem mozno uskladnovat nejake tie pythoniny pouzitelne napr. v automatickych upravach textov.
Neexistuje ziadna zaruka, ze akykolvek script posluzi prave vasim cielom! . Nie je ani ziadna zaruka, ze je ktorykolvek skript optimalne nakodovany!
Wikipédia:WikiProjekt Citácie
#vytiahnutie stranok v ktorych je pouzita (embeded) sablona
import mechanize
import urllib
import re
br=mechanize.Browser()
br.set_handle_robots(False)
def get_embedy(meno):
addr=u'http://sk.wikipedia.org?pojem=api.php?action=query&list=embeddedin&eititle='+urllib.quote(meno)+u'&eilimit=500&format=txt'
for line in br.open(addr):
hladane='^.*\ \=\> '
if re.search(hladane, line)!=None:
yield re.sub('\n*$', '', re.sub(hladane, '', line))
def pouzitie_sablony(meno_sablony, meno_stranky):
text=get_page(meno_stranky)
s=re.search('\{\{'+meno_sablony+'.*?\}\}', text,re.M|re.S|re.I)
while s:
yield s.group()
text=text
s=re.search('\{\{'+meno_sablony+'.*?\}\}', text,re.M|re.S|re.I)
zistovanie hlasovacieho prava
import re
akaka=re.compile( '\(*?\ \=\> .*?\)', re.S)
import mechanize
br=mechanize.Browser()
br.set_handle_robots(False)
def zisti(meno, start, end, namespace='all', vytlac=False):
if namespace=='all':
addr='http://sk.wikipedia.org?pojem=api.php?action=query&list=usercontribs&ucuser='+meno+'&format=txt&ucprop=title|timestamp&uclimit=500&ucstart='+start+'&ucend='+end+'&ucdir=older'
else:
addr='http://sk.wikipedia.org?pojem=api.php?action=query&list=usercontribs&ucuser='+meno+'&format=txt&ucprop=title|timestamp&uclimit=500&ucstart='+start+'&ucend='+end+'&ucdir=older&ucnamespace='+str(namespace)
text=br.open(addr).readlines()
if vytlac:
print text
a=akaka.findall("".join(text))
return meno, len(a)
priklad pouzitia (zistujeme pocet editov za dva mesiace v hlavnom mennom priestore pre vsetkych nasich sucasnych adminov):
zstart='20080718000000'
zend='20080518000000'
hlasujuci=
for i in hlasujuci:
a,b=zisti(i, zstart, zend, '0')
print a,b
Vystup:
Adrian 383 Atomique 0 Bebe 0 Bronto 500 Bubamara 403 Dudo 1 Helix84 1 Jano_spoza_mláky 1 Liso 230 Maros 1 Matros 0 Metju 0 Mo-Slimy 69 Ondrejk 16 Otm 358 Palica 0 Peko 500 Prskavka 13 Rádiológ 3 Robzle 500 Stibium 7 Valasek 0 Wizzard 500
Poznamky:
- neda to viac ako 500, kvoli limitu v api.php!
- hlavny priestor je '0'
- datum je vo formate yyyymmddhh24miss
projekt osud
projekt potreboval preprcat subor a v nom nahradzat viacnasobne prazdne riadky, 4 ciferne roky linkom (1234 -> 1234) plus prehodit ozatvorkovane "rod. XY" za priezvisko.
import sys
import re
subor= "osudbb.txt"
f=file(subor, 'r')
line=f.read(5000)
line2=re.sub(r'(^\)(\d\d\d\d)', r'\1\2',line) # nahrad roky linkom
line2=re.sub(r'\'\'\'(.*?)( \(.*?\))(.*?)\'\'\'', r"'''\1\3\2'''", line2) # prehod rodena dozadu v nazvoch
line2=re.sub(r'\'\'\'(.*?)( \(.*?\))(.*?\'\'\')', r"'''\1\3\2", line2) # prehod rodena dozadu v nazvoch
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'\n{3,}', r'\n\n', line2) # nahrad dva prazdne riadky jednym
# following code added by Wizzard
line2=re.sub(r'==\n{2,}', r'==\n', line2) # Zivotopis
line2=re.sub(r'.\n==', r'.\n\n==', line2) # Dielo a pod.
line2=re.sub(r"}}\n''", r"}}\n\n''", line2) # Oddelenie boxu
line2=re.sub(r"{{Osud na", r"\n{{Osud na", line2) # Oddelenie sablony
line2=re.sub(r"pravu}}", r"pravu}}\n", line2) # Oddelenie sablony
line2=re.sub(r" r\.", r" roku", line2) # r. -> roku
line2=re.sub(r" R\.", r" Roku", line2) # R. -> Roku
# posledne zmeny
line2=re.sub(r'(\w\.\,\;\"\'\!\?\)\(\\\s*)\n(\w)', r'\1 \2', line2)
line2=re.sub(r'(\w\.\,\;\"\'\!\?\)\(\\\s*)\n (\w)', r'\1 \2', line2)
line2=re.sub(r'(\n\'\'\'.*?\*.*?)(\\\d\d\d\d\\)(.*)', r'\1\2,\3', line2)
line2=re.sub(r'(\n\'\'\'.*?†.*?)(\\\d\d\d\d\\)(.*)', r'\1\2,\3', line2)
# nahradenie ciselnych datumov
line2=re.sub(r'(\d{1,2}\.)1\.', r'\1 januára ',line2) # nahrad januarove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)2\.', r'\1 februára ',line2) # nahrad februarove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)3\.', r'\1 marec|\1 marca ',line2) # nahrad marcove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)4\.', r'\1 apríla ',line2) # nahrad aprilove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)5\.', r'\1 mája ',line2) # nahrad majove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)6\.', r'\1 júna ',line2) # nahrad junove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)7\.', r'\1 júla ',line2) # nahrad julove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)8\.', r'\1 augusta ',line2) # nahrad augustove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)9\.', r'\1 septembra|\1 september ',line2) # nahrad septembrove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)10\.', r'\1 október|\1 októbra ',line2) # nahrad oktobrove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)11\.', r'\1 november|\1 novembra ',line2) # nahrad novembrove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)12\.', r'\1 december|\1 decembra ',line2) # nahrad decembrove ciselne datumy
print line2 ,
f.close()
Unixová verzia:
# -*- coding: utf-8 -*-
import sys
import re
subor= "OSUDBB.TXT"
f=file(subor, 'r')
line=f.read(32768)
line2=re.sub(r'(^\)(\d\d\d\d)', r'\1\2',line) # nahrad roky linkom
line2=re.sub(r'\'\'\'(.*?)( \(.*?\))(.*?)\'\'\'', r"'''\1\3\2'''", line2) # prehod rodena dozadu v nazvoch
line2=re.sub(r'\'\'\'(.*?)( \(.*?\))(.*?\'\'\')', r"'''\1\3\2", line2) # prehod rodena dozadu v nazvoch
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r'(\\Kateg.*?)\\(\d\d\d\d)\\(.*?\\)', r'\1\2\3',line2) # vyhod roky link v kategoriach
line2=re.sub(r"\x0D\x0A{3,}", r"\n\n", line2) # nahrad dva prazdne riadky jednym
# following code added by Wizzard
line2=re.sub(r"==\x0D\x0A{2,}", r"==\n", line2) # Zivotopis
line2=re.sub(r".\x0D\x0A==", r".\n\n==", line2) # Dielo a pod.
line2=re.sub(r"}}\x0D\x0A''", r"}}\n\n''", line2) # Oddelenie boxu
line2=re.sub(r"{{Osud na úpravu}}", r"\n{{Osud na úpravu}}\n", line2) # Oddelenie sablony
line2=re.sub(r" r\.", r" roku", line2) # r. -> roku
line2=re.sub(r" R\.", r" Roku", line2) # R. -> Roku
line2=re.sub(r" hl\.", r" hlavný", line2) # hl. -> hlavný
line2=re.sub(r" Hl\.", r" Hlavný", line2) # Hlavný. -> hlavný
# nahradenie ciselnych datumov
line2=re.sub(r'(\d{1,2}\.)1\.', r'\1 januára ',line2) # nahrad januarove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)2\.', r'\1 februára ',line2) # nahrad februarove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)3\.', r'\1 marec|\1 marca ',line2) # nahrad marcove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)4\.', r'\1 apríla ',line2) # nahrad aprilove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)5\.', r'\1 mája ',line2) # nahrad majove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)6\.', r'\1 júna ',line2) # nahrad junove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)7\.', r'\1 júla ',line2) # nahrad julove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)8\.', r'\1 augusta ',line2) # nahrad augustove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)9\.', r'\1 septembra|\1 september ',line2) # nahrad septembrove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)10\.', r'\1 október|\1 októbra ',line2) # nahrad oktobrove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)11\.', r'\1 november|\1 novembra ',line2) # nahrad novembrove ciselne datumy
line2=re.sub(r'(\d{1,2}\.)12\.', r'\1 december|\1 decembra ',line2) # nahrad decembrove ciselne datumy
print line2 ,
f.close()
pouzitie: Script ulozime do suboru. Napr. s menom wikiroky.py a potom (ak mame nainstalovany python a zdrojovy subor sa vola tak ako je to v scripte :) spustime:
python wikiroky.py > vystup.txt
v subore vystup.txt by sme mali mat spracovany vysledok. Nezabudnite vzdy skontrolovat!!! Program nikdy nedokaze osetrit vsetky mozne pripady co sa v nom mozu vyskytnut! :)
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk