Toggle navigation
Home
New Query
Recent Queries
Discuss
Database tables
Database names
MediaWiki
Wikibase
Replicas browser and optimizer
Login
History
Fork
This query is marked as a draft
This query has been published
by
Kasir
.
Toggle Highlighting
SQL
import MySQLdb except: pass import wikipedia,sys import pagegenerators import re, os, codecs, catlib,string import query from collections import defaultdict wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() faSite = wikipedia.getSite('fa') enSite = wikipedia.getSite('en') txtTmp=' ' adressfa=u' ' msg = u'ربات:انتقال جعبه' savewiki= False nofa='onlyen' boxes=[u'infobox',u'Geobox'] def englishdictionry( enlink ,firstsite,secondsite,check): try: enlink=unicode(str(enlink),'UTF-8').replace(u'[[',u'').replace(u']]',u'').replace(u'en:',u'').replace(u'fa:',u'') except: enlink=enlink.replace(u'[[',u'').replace(u']]',u'').replace(u'en:',u'').replace(u'fa:',u'') enlink=enlink.split(u'#')[0].strip() if enlink==u'': return False enlink=enlink.replace(u' ',u'_') site = wikipedia.getSite(firstsite) sitesecond= wikipedia.getSite(secondsite) params = { 'action': 'query', 'prop': 'langlinks', 'titles': enlink, 'redirects': 1, 'lllimit':500, } try: categoryname = query.GetData(params,site) for item in categoryname[u'query'][u'pages']: case=categoryname[u'query'][u'pages'][item][u'langlinks'] for item in case: if item[u'lang']==secondsite: intersec=item[u'*'] break if check==True: secondsitep = wikipedia.Page( sitesecond,intersec) try: text = secondsitep.get() except wikipedia.NoPage: wikipedia.output(u"%s doesn't exist, skip!" % page.title()) return False except wikipedia.IsRedirectPage: wikipedia.output(u"%s is a redirect, skip!" % page.title()) newpage = secondsitep.getRedirectTarget() intersec=newpage.title() result=intersec return result except: return False def redirectquery( enlink,firstsite): try: enlink=unicode(str(enlink),'UTF-8').replace(u'[[',u'').replace(u']]',u'').replace(u'en:',u'').replace(u'fa:',u'') except: enlink=enlink.replace(u'[[',u'').replace(u']]',u'').replace(u'en:',u'').replace(u'fa:',u'') enlink=enlink.split(u'#')[0].strip() if enlink==u'': return False enlink=enlink.replace(u' ',u'_') site = wikipedia.getSite(firstsite) params = { 'action': 'query', 'titles': enlink, 'redirects':1} try: redirectname = query.GetData(params,site) redirectname=redirectname[u'query'][u'redirects'][0]['to'].replace(u'_',u' ') return redirectname except: enlink=enlink.replace(u'_',u' ') return enlink def categorydown(listacategory): wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() count=1 for catname in listacategory: count+=1 if count==200: break gencat = pagegenerators.SubCategoriesPageGenerator(catname, recurse=False) try: for subcat in gencat: try: wikipedia.output(str(subcat)) except: wikipedia.output(subcat) if subcat in listacategory: continue else: listacategory.append(subcat) except: continue return listacategory def pagefafinder(encatTitle): cats=[] try: item=unicode(str(encatTitle),'Ascii').replace('[[en:','').replace(']]','').replace(' ','_').replace('Category:','') except: item=str(encatTitle).replace('[[en:','').replace(']]','').replace(' ','_').replace('Category:','') #-----------------start sql--------------------------------------- queries ='SELECT /* SLOW_OK */ ll_title FROM page JOIN categorylinks JOIN langlinks WHERE cl_to = "'+item+'" AND cl_from=page_id AND page_namespace = 0 AND page_id =ll_from AND ll_lang = "fa" AND page_namespace = 0 GROUP BY ll_title ;' site1 = wikipedia.getSite('en') TS_DB_HOST = 'sql-s3' MY_CNF = '~/.my.cnf' cn = MySQLdb.connect("enwiki-p.db.toolserver.org", db = site1.dbName(), read_default_file = '~/.my.cnf') cur = cn.cursor() cur.execute(queries) results = cur.fetchall() cn.close() #------------------end of sql-------------------------------------------- for raw in results: cats.append(raw) if cats!=[]: return cats else: return False def encatlist(encat): encat=encat.replace(u'Category:Category:',u'Category:') wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() count=0 listenpageTitle=[] PageTitle=encat.replace(u'[[',u'').replace(u']]',u'').strip() language='en' PageTitles =[PageTitle] for PageTitle in PageTitles: cat = catlib.Category( wikipedia.getSite(language),PageTitle ) if str(cat).find('stubs')!=-1: continue listacategory=[cat] listacategory=categorydown(listacategory) for enpageTitle in listacategory: try: fapages=pagefafinder(enpageTitle) for pages in fapages: pages=unicode(pages[0],'UTF-8') wikipedia.output(u'\03{lightgreen}Adding '+pages+u' to fapage lists\03{default}') listenpageTitle.append(pages) except: try: enpageTitle=unicode(str(enpageTitle),'UTF-8').split(u'|')[0].split(u']]')[0].replace(u'[[',u'').strip() except: enpageTitle=enpageTitle.split(u'|')[0].split(u']]')[0].replace(u'[[',u'').strip() cat = catlib.Category( wikipedia.getSite(language),enpageTitle ) gent = pagegenerators.CategorizedPageGenerator( cat ) for pagework in gent: count+=1 try: link=str(pagework).split(u'|')[0].split(u']]')[0].replace(u'[[',u'').strip() except: pagework=unicode(str(pagework),'UTF-8') link=pagework.split(u'|')[0].split(u']]')[0].replace(u'[[',u'').strip() listenpageTitle.append(link) if listenpageTitle==[]: return False return listenpageTitle def boxfind(text_en): text_en=re.sub("(\{\{(?:[Tt]emplate:|)Infobox ship begin.*?)(\}\})(\s*?\{\{)","\1\3",text_en,re.IGNORECASE) text_en=re.sub("(\}\}\r?\n?\{\{(?:[Tt]emplate:|)Infobox ship (?:career|characteristics|class overview|image)\r?\n)","",text_en,re.IGNORECASE) text_en=text_en.replace(u'{{ ',u'{{').replace(u'{{ ',u'{{').replace(u'{{template:',u'{{').replace(u'{{Template:',u'{{') lines=text_en.split('\n') start=False box=u'\n' diff=1 linebaz,linebasteh=0,0 for our_box in boxes: our_box=our_box.strip() up_our_box=our_box[0].upper()+our_box[1:] lower_our_box=our_box[0].lower()+our_box[1:] for line in lines: if line==u'': continue if line.find(u'{{'+lower_our_box)!=-1 :# lower case start=True linebaz,linebasteh=0,0 box+=u'{{'+lower_our_box+line.split(u'{{'+lower_our_box)[1]+'\n' linebaz += string.count( line,"{{" ) linebasteh += string.count( line,"}}" ) diff=linebaz-linebasteh continue if line.find(u'{{'+up_our_box)!=-1 :# upper case start=True linebaz,linebasteh=0,0 box+=u'{{'+up_our_box+line.split(u'{{'+up_our_box)[1]+'\n' linebaz += string.count( line,"{{" ) linebasteh += string.count( line,"}}" ) diff=linebaz-linebasteh continue if start==True and diff!=0: linebaz += string.count( line,"{{" ) linebasteh += string.count( line,"}}" ) diff=linebaz-linebasteh box+=line+'\n' if diff==0 and start==True: break return box def BotRun(page,text_en,nofa,counting): wikipedia.output(u'------Artcile Number \03{lightblue}'+unicode(str(counting),'UTF-8')+u'\03{default} ----'+unicode(str(page),'UTF-8')+u'------------') faresult=englishdictionry( page ,'en','fa',False) if faresult==False and nofa=='onlyfa': wikipedia.output( u'\03{lightpurple}===>'+unicode(str(page),'UTF-8')+u' in fawiki has no article \03{default}') return False if faresult!=False and nofa=='onlyen': wikipedia.output( u'\03{lightpurple}===>'+unicode(str(page),'UTF-8')+u' in fawiki has article \03{default}') return False lines=text_en.split('\n') matn=' ' for line in lines: linebaz=string.count(line,'{{') linebaste=string.count(line,'}}') diff=linebaz-linebaste if diff==0: line=line.replace('{{','$AAAA$').replace('}}','!BBBB!') linebaz=0 linebaste=0 matn+=line+u'\n' newtext='' for our_box in boxes: our_box=our_box.strip() try: newtext= re.search(ur'(\{\{\s*['+our_box[0].lower()+our_box[0].upper()+ur']'+our_box[1:]+ur'[_\s](?:\{\{.*?\}\}|[^\}])*\}\})',matn, re.S).group(1)# if Template box has other name please chang this regex newtext=newtext.replace(u'$AAAA$',u'{{').replace(u'!BBBB!',u'}}') break except: continue if not newtext.strip(): newtext=boxfind(text_en) if not newtext.strip(): wikipedia.output( u'===>'+unicode(str(page),'UTF-8')+u' Without Templatebox' ) return False wikipedia.output( u'\03{lightgreen}'+unicode(str(page),'UTF-8')+u" added to list \03{default}") newtext=u'\n@@@\n$$$'+unicode(str(page),'UTF-8')+u'$$$\n'+newtext+u'\n@@@\n' return newtext def templatefinder(linkingPageTitle,nofa): articles=[] try: item=unicode(str(linkingPageTitle),'Ascii').replace('[[en:','').replace(']]','').replace(' ','_').replace('Template:','').replace('template:','').replace('الگو:','') except: item=str(linkingPageTitle).replace('[[en:','').replace(']]','').replace(' ','_').replace('Template:','').replace('template:','').replace('الگو:','') #-----------------start sql--------------------------------------- if nofa=='onlyfa': queries ='SELECT /* SLOW_OK */ page_title FROM page JOIN langlinks WHERE page_namespace = 0 AND page_is_redirect = 0 AND page_id IN (SELECT tl_from FROM templatelinks WHERE tl_title = "'+linkingPageTitle+'" AND tl_namespace = 10) AND ll_lang = "fa" GROUP BY page_title LIMIT 10;' else: a=1 #some thing wikipedia.output(queries) site1 = wikipedia.getSite('en') TS_DB_HOST = 'sql-s3' MY_CNF = '~/.my.cnf' cn = MySQLdb.connect("enwiki-p.db.toolserver.org", db = site1.dbName(), read_default_file = '~/.my.cnf') cur = cn.cursor() cur.execute(queries) results = cur.fetchall() cn.close() #------------------end of sql-------------------------------------------- for raw in results: articles.append(raw) if articles!=[]: return articles else: return False def run(generator,savewiki,adressfa,nofa): wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() site = wikipedia.getSite( 'en' ) with codecs.open( u'tempresult.txt',mode = 'w',encoding = 'utf8' ) as fars: fars.write( u'\n' ) with codecs.open( u'encats.txt',mode = 'w',encoding = 'utf8' ) as fars2: fars2.write( u'\n' ) new_text='\n' counting=0 for pageen in generator: try: enlink=unicode(str(pageen),'UTF-8').replace(u'[[',u'').replace(u']]',u'') except: enlink=pageen.replace(u'[[',u'').replace(u']]',u'') if enlink.find(u'talk:')!=-1 or enlink.find(u'Talk:')!=-1 or enlink.find(u'User:')!=-1 or enlink.find(u'Template:')!=-1 or enlink.find(u'Wikipedia:')!=-1 or enlink.find(u'Category:')!=-1: continue page = wikipedia.Page( site,enlink ) try: text_fa = page.get() catsen=page.categories() except wikipedia.NoPage: wikipedia.output( u'Page %s not found' % page.title() ) continue except wikipedia.IsRedirectPage: pageRedirect = page.getRedirectTarget() text_fa = pageRedirect.get() catsen=pageRedirect.categories() wikipedia.output( u'Page %s was Redirect but edited!' % pageRedirect ) except: continue counting+=1 new_text=BotRun(page,text_fa,nofa,counting) if new_text==False or new_text=='\n': continue with codecs.open( u'tempresult.txt',mode = 'a',encoding = 'utf8' ) as fars: fars.write( new_text ) catsen=unicode(str(catsen),'UTF-8').replace(u'[Category{',u'').replace(u'}, Category{',u'\n').replace(u']]}]',u']]').replace(u'[[en:',u'[[:en:')+u'\n' with codecs.open( u'encats.txt',mode = 'a',encoding = 'utf8' ) as encatfile: encatfile.write( catsen ) def linktranslation(): farsichar=u'ابضصثقفغعهخحجچشسیلتنمکگظطزرذدپو۱۲۳۴۵۶۷۸۹۰' wikipedia.output(u'\03{lightgreen} Translating Links .... \03{default}') text2 = codecs.open( u'tempresult.txt','r' ,'utf8' ) text = text2.read() linken = re.findall(ur'\[\[.*?\]\]',text, re.S) for item in linken: passport=True if not item in text: continue if item.find(u'File:')!=-1 or item.find(u'file:')!=-1 or item.find(u'Image:')!=-1 or item.find(u'image:')!=-1 or item.find(u'Category:')!=-1 or item.find(u'category:')!=-1: continue for i in farsichar: if i in item: passport=False break if not passport: continue itemmain=item item=item.replace(u'en:',u'') if item.find('user:')!=-1 or item.find('User:')!=-1 or item.find('template:')!=-1 or item.find('Template:')!=-1 or item.find('category:')!=-1 or item.find('Category:')!=-1 or item.find('Wikipedia:')!=-1 or item.find('wikipedia:')!=-1 or item.find('Talk:')!=-1 or item.find('talk:')!=-1 or item.find('Help:')!=-1 or item.find('help:')!=-1: continue itemen=item.split(u'|')[0].replace(u'[[',u'').replace(u']]',u'').strip() if text.find(itemmain)!=-1: itemfa=englishdictionry(itemen ,'en','fa',False) wikipedia.output(itemen) else: continue if itemfa==False: itemen=item.replace(u'[[',u'').replace(u']]',u'').strip() itemen=itemen.replace(u'[[',u'').replace(u']]',u'') text=text.replace(u'[['+itemen+u']]',u'@1@'+itemen+u'@2@') continue else: text=text.replace(itemmain,u'@1@'+itemfa+u'@2@') linken = re.findall(ur'\[\[.*?\]\]',text, re.S) wikipedia.output(str(len(linken))+u' is remained') text=text.replace(u'@1@',u'[[').replace(u'@2@',u']]') text=text.replace(u'$$$[[',u"'''").replace(u']]$$$',u"'''") text=text.replace(u'@@@\n\n@@@',u'@@@\n@@@').strip() with codecs.open( u'NeededBoxes.txt',mode = 'w',encoding = 'utf8' ) as f: f.write(text) wikipedia.output(u'\03{lightblue} Translated Boxes are copied in NeededBoxes.txt \03{default}') def main(savewiki,adressfa,nofa): summary_commandline,template,gen = None,None,None exceptions,PageTitles,namespaces = [],[],[] linkingPageTitle='' encat='' autoText,autoTitle = False,False genFactory = pagegenerators.GeneratorFactory() wikipedia.setAction( msg ) for arg in wikipedia.handleArgs(): if arg == '-autotitle': autoTitle = True elif arg == '-autotext': autoText = True elif arg.startswith( '-page:' ): if len(arg) == 6: PageTitles.append(wikipedia.input( u'Which page do you want to chage?' )) else: PageTitles.append(arg[6:]) elif arg.startswith( '-cat:' ): if len(arg) == 5: encat=wikipedia.input( u'Which Category do you want to chage?' ) else: encat='Category:'+arg[5:] elif arg.startswith('-except:'): exceptions.append(arg[8:]) elif arg.startswith( '-namespace:' ): namespaces.append( int( arg[11:] ) ) elif arg.startswith( '-ns:' ): namespaces.append( int( arg[4:] ) ) elif arg.startswith( '-ref:' ): linkingPageTitle= arg[5:] elif arg.startswith('-file:'): textfilename = arg[6:] if not textfilename: textfilename = wikipedia.input( u'Please enter the local file name:') gen = pagegenerators.TextfilePageGenerator(textfilename,'en') elif arg.startswith( '-nofa:' ): nofa=arg[6:].strip() nofa=nofa.replace(u'faonly',u'onlyfa').replace(u'enonly',u'onlyen') if nofa!='onlyfa': nofa='onlyen' elif arg.startswith( '-onlyfa' ): nofa='onlyfa' elif arg.startswith( '-onlyen' ): nofa='onlyen' elif arg.startswith( '-save' ): savewiki= True adressfa= wikipedia.input(u'Write you wiki subpage like (User:yourusername/findbox) :> ').decode('utf-8') else: generator = genFactory.handleArg(arg) if generator: gen = generator #--------------------------------------------------------------------the template name---------------- #linkingPageTitle=u'Template:Infobox school' #-------------------------------------------------------------------------------------------------------- if encat!='': encatfalist=encatlist(encat) if encatfalist!=False: run(encatfalist,savewiki,adressfa,nofa) if PageTitles: pages = [wikipedia.Page(enSite,PageTitle) for PageTitle in PageTitles] gen = iter( pages ) if linkingPageTitle: linkingPage = wikipedia.Page(enSite, linkingPageTitle) pages=pagegenerators.ReferringPageGenerator(linkingPage) gen = iter(pages) wikipedia.output(linkingPageTitle) if namespaces != []: gen = pagegenerators.NamespaceFilterPageGenerator( gen,namespaces ) preloadingGen = pagegenerators.PreloadingGenerator( gen,pageNumber = 60 ) run(preloadingGen,savewiki,adressfa,nofa) def catenlist(): wikipedia.output(u'\03{lightgreen} Listing Needed categories.... \03{default}') text2 = codecs.open( u'encats.txt','r' ,'utf8' ) text = text2.read() linken = re.findall(ur'\[\[.*?\]\]',text, re.S) for item in linken: itemmain=item item=item.replace(u':en:',u'').replace(u'en:',u'') itemen=item.split(u'|')[0].replace(u'[[',u'').replace(u']]',u'').strip() if text.find(itemmain)!=-1: itemfa=englishdictionry(itemen ,'en','fa',False) wikipedia.output(itemen) else: continue if itemfa==False: itemen=item.replace(u'[[',u'').replace(u']]',u'').strip() itemen=itemen.replace(u'[[',u'').replace(u']]',u'') text=text.replace(u'[['+itemen+u']]',u'@1@'+itemen+u'@2@') continue else: text=text.replace(itemmain,u'') text=text.replace(u'[[]]',u'').replace(u'@1@@2@',u'') linken = re.findall(ur'\[\[.*?\]\]',text, re.S) wikipedia.output(str(len(linken))+u' is remained') text=text.replace(u'@1@',u'[[').replace(u'@2@',u']]') textup=u"ردههای پرکاربرد که باید ساخته شوند تا توسط ربات ردههمسنگ به مقالات افزوده شوند.\n" textup+=u'{| class="wikitable sortable"\n!ردیف!!نام رده!!تعداد استفاده\n' linken = re.findall(ur'\[\[.*?\]\]',text, re.S) counters=0 dict={} for item in linken: if text.lower().count(item.lower())==0: continue dict[item]=text.count(item) counters=0 for key, value in sorted(dict.iteritems(), key=lambda (k,v): (v,k), reverse=True): counters+=1 textup+=u'|-\n|'+str(counters)+u'||'+key+u'||'+str(value)+u'\n' text=text.replace(item,u'').replace(u'[[]]',u'').replace(u'[[',u'[[:en:') textup+=u'|-\n|}' savefile='NeededCategories.txt' with codecs.open(savefile ,mode = 'w',encoding = 'utf8' ) as f: f.write(textup) wikipedia.output(u"\03{lightblue} Needed Category's File is made and it's name is "+unicode(savefile,'UTF-8')+u" \03{default}") def mainarticles(): wikipedia.output(u'\03{lightgreen} Listing Needed Articles....\03{default}') farsichar=u'ابضصثقفغعهخحجچشسیلتنمکگظطزرذدپو۱۲۳۴۵۶۷۸۹۰' filesample = 'NeededBoxes.txt' text2 = codecs.open( filesample,'r' ,'utf8' ) text = text2.read() linken =re.findall(ur'\[\[.*?\]\]',text, re.S) enlinks=[] for item in linken: passport=True if not item in text: continue if item.find(u'File:')!=-1 or item.find(u'file:')!=-1 or item.find(u'Image:')!=-1 or item.find(u'image:')!=-1 or item.find(u'Category:')!=-1 or item.find(u'category:')!=-1: continue for i in farsichar: if i in item: passport=False break if passport: itemnew=item.split(u'|')[0].replace(u'[[',u'').replace(u']]',u'').replace(u':en:',u'').replace(u'en:',u'').strip() redirect=redirectquery(itemnew,'en') if redirect: enlink=u'AAA'+redirect+u'$$$' else: continue text=text.replace(item,enlink) linken =re.findall(ur'\[\[.*?\]\]',text, re.S) wikipedia.output(item) wikipedia.output(str(len(linken))+u' is remained') text=text.replace(u'AAA',u'[[').replace(u'$$$',u']]') linken =re.findall(ur'\[\[.*?\]\]',text, re.S) for item in linken: passport=True itemmain=item item=item.replace(u':en:',u'').replace(u'en:',u'') item=item.split(u'|')[0].replace(u'[[',u'').replace(u']]',u'').strip() for i in farsichar: if i in item: passport=False break if item.find(u'File:')!=-1 or item.find(u'file:')!=-1 or item.find(u'Image:')!=-1 or item.find(u'image:')!=-1 or item.find(u'Category:')!=-1 or item.find(u'category:')!=-1: continue if text.find(u'[['+item)!=-1 and passport: if not item in enlinks: enlinks.append(item) textup=u"مقالههای کلیدی و پرکاربر بر پایهٔ تعداد پیونددهی در مقالات که برای آبیشدن پیوندشان باید در ابتدا ساخته شوند.\n" textup+=u'{|class="wikitable sortable"\n!ردیف!!نام مقاله!!تعداد استفاده\n' dict={} for item in enlinks: if text.count(u'[['+item)==0: continue dict[item]=text.count(u'[['+item) counters=0 for key, value in sorted(dict.iteritems(), key=lambda (k,v): (v,k), reverse=True): counters+=1 textup+=u'|-\n|'+str(counters)+u'||[[:en:'+key+u']]||'+str(value)+u'\n' textup+=u'|-\n|}' savefile='NeededArticles.txt' with codecs.open( savefile,mode = 'w',encoding = 'utf8' ) as f: f.write( textup ) wikipedia.output(u"\03{lightblue} Needed Article's File is made and it's name is "+unicode(savefile,'UTF-8')+u" \03{default}") def exceleporter(): wikipedia.output(u'\03{lightgreen} Making excel File.... \03{default}') count = 0 filesample = 'NeededBoxes.txt' text2 = codecs.open( filesample,'r' ,'utf8' ) text = text2.read() #------------------------------------------------------- # در این بخش متغییرهایی را که قصد دارید در فایل اکسل به صورت ستونی باشند را ذکر نمائید #items=(u'number',u'organ',u'date',u'year',u'meeting',u'code',u'document',u'for',u'abstention',u'against',u'subject',u'result',u'image',u'caption') #items=(u'name',u'image',u'caption',u'fullname',u'birth_date',u'birth_place',u'death_date',u'death_place',u'height',u'position',u'currentclub',u'youthyears1',u'youthclubs1',u'collegeyears1',u'collegeclubs1',u'collegecaps1',u'collegegoals1',u'years1',u'clubs1',u'caps1',u'goals1',u'totalcaps',u'totalgoals',u'nationalyears1',u'nationalteam1',u'nationalcaps1',u'nationalgoals1',u'medaltemplates',u'manageryears1',u'managerclubs1',u'club-update',u'nationalteam-update') items=(u'name',u'official_name',u'image',u'image_size',u'image_caption',u'image_alt',u'location_map',u'location_map_width',u'location_map_text',u'lat_d',u'lat_m',u'lat_s',u'lat_NS',u'long_d',u'long_m',u'long_s',u'long_EW',u'coordinates_type',u'coordinates_display',u'coordinates_ref',u'country',u'location',u'status',u'construction_began',u'commissioned',u'licence_expires',u'decommissioned',u'cost',u'owner',u'operator',u'developer',u'constructor',u'reactors_operate_mw',u'reactors_const_mw',u'reactors_planned_mw',u'reactors_decom_mw',u'reactors_cancel_mw',u'reactor_type',u'reactor_supplier',u'turbine_manu_npp',u'installed_capacity',u'max_planned_cap',u'capacity_factor',u'average_annual_gen',u'net_generation',u'website',u'as_of',u'extra') #------------------------------------------------------- text=re.sub(ur'(\s|)+(\||\=)(\s|)+','\2',text) text=text.replace(u'@@@\n\n@@@',u'@@@').replace(u'\t',u'') dict={} count=-1 text=re.sub(ur'\<ref(.*?)\/ref\>',ur"", text, re.S) text=re.sub(ur'\<ref(.*?)\/>',ur"", text, re.S) count=-1 for item in items: count+=1 dict[count]=[item] dict[count+1]=[u'names'] for pag in text.split(u'@@@' ): pag=pag.replace(u'\r',u'') if pag.strip()==u'': continue try: onvan=pag.split("'''")[1].strip() except: continue count=-1 for item in items: count+=1 try: im = re.search(ur'\|'+item+u'\=.*?\\n\|', pag) itema=im.group(0).split(item+u'=')[1].replace(u'\n|',u'').replace(u'\n',u'').replace(u"''",u"").strip() itema=itema.split(u'<')[0].strip() if itema==u'N/A' or itema==u'*' or itema==u'': itema=u' ' except: itema=u' ' dict[count].append(itema) onvan=pag.split("'''")[1].replace(u'en:',u'').strip() dict[count+1].append(onvan) number=len(items)+1 total=len(dict[0])-1 text=u'\n' for b in range(0,total): for a in range(0,number): text+=dict[a][b]+u'\t' text+=u'\n' savefile='resultexcelc.txt' with codecs.open(savefile ,mode = 'w',encoding = 'utf8' ) as f: f.write( text.strip() ) f.close() wikipedia.output(u"\03{lightblue} Excel File is made and it's name is "+unicode(savefile,'UTF-8')+u"\03{default}") if __name__ == "__main__": try: main(savewiki,adressfa,nofa) except: pass linktranslation() exceleporter() catenlist() mainarticles()
By running queries you agree to the
Cloud Services Terms of Use
and you irrevocably agree to release your SQL under
CC0 License
.
Submit Query
Stop Query
All SQL code is licensed under
CC0 License
.
Checking query status...