ویکیپدیا:درخواستهای ربات/ربات پیشنهاد دهنده میانویکی بر پایه تصویر
این ربات بر پایه آمار اینجا برای مقالات میانویکی پیشنهاد میدهد.
کد
ویرایش<syntaxhighlight lang="python">
- !/usr/bin/python
- -*- coding: utf-8 -*-
- Reza(User:reza1615), 2014
- Distributed under the terms of the CC-BY-SA 3.0 .
- -*- coding: utf-8 -*-
import wikipedia,re,codecs,query wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() my_files=[u'File:Alidivandari.jpg'] faSite = wikipedia.getSite('fa') enSite = wikipedia.getSite('en') article_list=u'\n' def englishdictionry(enlink):
if enlink.find('#')!=-1: return False if enlink==u: return False enlink=enlink.replace(u' ',u'_') params = { 'action': 'query', 'prop': 'langlinks', 'titles': enlink, 'redirects': 1, 'lllimit':500, } try: categoryname = query.GetData(params,faSite) 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']=='en': intersec=item[u'*'] return True except: return False
for file in my_files:
file_page=wikipedia.Page(faSite,file) wikipedia.output(u'-------------'+ file+u'----------------') try: ref_links=file_page.getReferencesOld() except: continue count=0 try: for article in ref_links: count+=1 if count>1: break article_page=wikipedia.Page(faSite,article.title()) if article_page.namespace()==0: wikipedia.output(u'article='+ article.title()) if not englishdictionry(article.title()): file_page_en=wikipedia.Page(enSite,file) try: ref_links_en=file_page_en.getReferencesOld() except: break en_list=[] for i in ref_links_en: en_list.append(i.title()) add_line=article_page.title()+u'\t'+file+u'\t'+u' - '.join(en_list) wikipedia.output(u'\03{lightred}'+add_line+u'\03{default}') with codecs.open(u'article_without_interwiki.txt' ,mode = 'a',encoding = 'utf8' ) as f: f.write(u'\n'+add_line) except: continue