ویکی‌پدیا:درخواست‌های ربات/ربات پیشنهاد دهنده میان‌ویکی بر پایه تصویر

این ربات بر پایه آمار اینجا برای مقالات میان‌ویکی پیشنهاد می‌دهد.

<syntaxhighlight lang="python">

  1. !/usr/bin/python
  2. -*- coding: utf-8 -*-
  3. Reza(User:reza1615), 2014
  4. Distributed under the terms of the CC-BY-SA 3.0 .
  5. -*- 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