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

<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 .

import pagegenerators,re import wikipedia,time import codecs,query import urllib2 import urlparse from BeautifulSoup import BeautifulSoup

wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() text=u' ' todayup=u"به‌روز شده توسط ربات در تاریخ: ‏۲۰ آوریل ۲۰۲۰، ساعت ۱۱:۵۷ (UTC)\n" titlechart=u'!رتبه!! صفحه!! میزان بازدید متوسط در یک روز!!رتبه تعداد بازدید در ویکی‌فا!!برچسب‌ها!!میان‌ویکی!!تعداد پیوند درون مقاله!! تعداد رده!!تعداد نگاره!!حجم صغحه (بایت)
حجم کمتر از ۱۵ کیلوبایت رنگی نمایش داده میشود !!توضیحات دیگر'+u'\n|-\n' uppage=todayup+u'\n{| class="wikitable sortable"\n'+titlechart downpage=u'\n|}\n\n\n' count=0


def urlEncodeNonAscii(b):

   return re.sub('[\x80-\xFF]', lambda c: '%%%02x' % ord(c.group(0)), b)

def iriToUri(iri):

   parts= urlparse.urlparse(iri)
   return urlparse.urlunparse(
       part.encode('idna') if parti==1 else urlEncodeNonAscii(part.encode('utf-8'))
       for parti, part in enumerate(parts)
   )

def num_view(link):

       matn,matn2=False,False
       urlr=u"http://stats.grok.se/fa/latest90/"+link
       urlr=iriToUri(urlr)
       #wikipedia.output(urlr)
       page = urllib2.urlopen(urlr)
       soup = str(BeautifulSoup(page))
       if soup.find('has been viewed')!=-1:
           matn=soup.split('has been viewed')[1].split('times in the last 90 days')[0].strip()
           matn=str(int(matn)/90)
       if soup.find('This article ranked')!=-1:
           matn2=soup.split('This article ranked')[1].split('in traffic on')[0].strip()
       return matn,matn2

def condition(text):

     wikipedia.config.put_throttle = 0
     wikipedia.put_throttle.setDelay()
     alarm=' '
     
     try:
        page = wikipedia.Page( wikipedia.getSite( u'fa' ),text )
        wikipedia.output( u'opening %s ...' % page.title() )
        text = page.get()
        alarm+=u' '
        objective=u'||'
       #----------------------------------------------refrences-------------------
        if text.find(u'{{منبع')!=-1:
            alarm+=u'نیازمند منبع ،'
        if text.find(u'{{بهبود')!=-1:
             alarm+=u'بهبود منبع ،'           
        if text.find(u'{{بدون منبع')!=-1:
             alarm+=u'بدون منبع ،'
        if text.find(u'{{متخصص')!=-1:
            alarm+=u'متخصص ،'
        if text.find(u'الگو:نشان مقاله خوب فقط برای ویکی‌پدیا:مقاله‌های خوب است.')!=-1:
            alarm+=u' مقاله خوب'
        if text.find(u'')!=-1:
            alarm+=u' مقاله برگزیده'
       #----------------------------------------------khord----------------------
        if text.find(u'خرد}}')!=-1:
          alarm+=u'خرد ،'
        if text.find(u'نیاز}}')!=-1:
          alarm+=u'نیازمند به ،'
        if text.find(u'{{طرفداری')!=-1:
            alarm+=u'عدم‌بی‌طرفی ،'
        if text.find(u'{{درستی')!=-1:
            alarm+=u'عدم توافق در درستی ،'
        if text.find(u'{{ادغام')!=-1:
            alarm+=u'ادغام ،'
        if text.find(u'{{در دست ویرایش')!=-1:
            alarm+=u'ویرایش ،'
        if text.find(u'{{ویکی‌سازی')!=-1:
            alarm+=u'ویکی‌سازی ،'
        if text.find(u'{{تمیزکاری')!=-1:
            alarm+=u'تمیزکاری ،'
        if text.find(u'{{لحن')!=-1:
            alarm+=u'لحن ،'
        if text.find(u'{{اصلاح')!=-1:
            alarm+=u'نیازمند ترجمه ،'
        if text.find(u'{{ابهام‌زدایی')!=-1:
            alarm+=u'ابهام‌زدایی ،'
        if text.find(u'{{بازنویسی')!=-1:
            alarm+=u'بازنویسی ،'
        if text.find(u'{{به روز رسانی')!=-1:
            alarm+=u'به‌روز رسانی ،'
        if text.find(u'{{به‌روز رسانی')!=-1:
            alarm+=u'به‌روز رسانی ،'
        if alarm[-1]==u'،':
            alarm=alarm[0:-1].strip()   
        interwikis=u+str(len(page٫interwiki()) )٫strip()+u
        cats=u+str(len(page٫categories(api=True)))٫strip()+u
        linked=u+str(len(page٫linkedPages()))٫strip()+u
        image=u+str(len(page٫imagelinks()))٫strip()+u
        alarm+=u'||'+interwikis+u'||'+linked+u'||'+cats+u'||'+image+u'|| ۰ ||\n|-\n'
        return alarm
     except wikipedia.IsRedirectPage:
         return False
     except:
         return False

list_old=[u"ویکی‌پدیا:پربیننده/دایناسور",u"ویکی‌پدیا:پربیننده/افراد",u"ویکی‌پدیا:پربیننده/فلسفه",u"ویکی‌پدیا:پربیننده/دین زرتشتی",u"ویکی‌پدیا:پربیننده/اسلام", u"ویکی‌پدیا:پربیننده/مسیحیت",u"ویکی‌پدیا:پربیننده/یهودیت",u"ویکی‌پدیا:پربیننده/رمان",u"ویکی‌پدیا:پربیننده/کتاب‌ها", u"ویکی‌پدیا:پربیننده/مجلات",u"ویکی‌پدیا:پربیننده/زبان‌ها",u"ویکی‌پدیا:پربیننده/فیزیک",u"ویکی‌پدیا:پربیننده/شیمی", u"ویکی‌پدیا:پربیننده/ریاضی",u"ویکی‌پدیا:پربیننده/فناوری",u"ویکی‌پدیا:پربیننده/رایانه و رایانش",u"ویکی‌پدیا:پربیننده/موسیقی", u"ویکی‌پدیا:پربیننده/هنرهای بصری",u"ویکی‌پدیا:پربیننده/فیلم",u"ویکی‌پدیا:پربیننده/فرهنگ",u"ویکی‌پدیا:پربیننده/سینما",u"ویکی‌پدیا:پربیننده/رقص", u"ویکی‌پدیا:پربیننده/ورزش",u"ویکی‌پدیا:پربیننده/فوتبال",u"ویکی‌پدیا:پربیننده/فوتبال در ایران",u"ویکی‌پدیا:پربیننده/زیست‌شناسی", u"ویکی‌پدیا:پربیننده/پزشکی",u"ویکی‌پدیا:پربیننده/روانشناسی",u"ویکی‌پدیا:پربیننده/میکروب‌شناسی",u"ویکی‌پدیا:پربیننده/حشرات", u"ویکی‌پدیا:پربیننده/حیوانات",u"ویکی‌پدیا:پربیننده/پرندگان",u"ویکی‌پدیا:پربیننده/پستانداران",u"ویکی‌پدیا:پربیننده/خزندگان و دوزیستان", u"ویکی‌پدیا:پربیننده/سگها",u"ویکی‌پدیا:پربیننده/جغرافیا",u"ویکی‌پدیا:پربیننده/ایران", u"ویکی‌پدیا:پربیننده/افغانستان",u"ویکی‌پدیا:پربیننده/شهرها",u"ویکی‌پدیا:پربیننده/آبشارها",u"ویکی‌پدیا:پربیننده/معماری", u"ویکی‌پدیا:پربیننده/باستان‌شناسی",u"ویکی‌پدیا:پربیننده/جنگلداری",u"ویکی‌پدیا:پربیننده/انرژی",u"ویکی‌پدیا:پربیننده/زندگی روزانه", u"ویکی‌پدیا:پربیننده/هوانوردی",u"ویکی‌پدیا:پربیننده/فرودگاه‌ها",u"ویکی‌پدیا:پربیننده/پویانمایی",u"ویکی‌پدیا:پربیننده/جنگ", u"ویکی‌پدیا:پربیننده/کالبدشکافی",u"ویکی‌پدیا:پربیننده/خودرو",u"ویکی‌پدیا:پربیننده/کالبدشکافی",u"ویکی‌پدیا:پربیننده/مناطق تاریخی", u"ویکی‌پدیا:پربیننده/شرکت‌ها",u"ویکی‌پدیا:پربیننده/اینترنت",u"ویکی‌پدیا:پربیننده/وب‌سایت‌ها",u"ویکی‌پدیا:پربیننده/بازیگران و فیلمسازان", u"ویکی‌پدیا:پربیننده/دولت و سیاست",u"ویکی‌پدیا:پربیننده/دانشگاه‌ها",u"ویکی‌پدیا:پربیننده/گردشگری",u"ویکی‌پدیا:پربیننده/اسباب‌بازی‌ها"]

for fa_title in list:

   fapage = wikipedia.Page( wikipedia.getSite( u'fa' ),fa_title )
   links=fapage.linkedPages()
   count=0
   for link in links:
       link=link.title().replace(u'',u'').replace(u'',u).strip()
       count+=1
       k,k2=num_view(link.replace(u' ',u'_').replace(u'‌',u'%E2%80%8C'))
       link_result=condition(link.replace(u'_',u' '))
       if link_result==False:
           continue
       if not k:
           k=u'0'
       if not k2:
           k2=u'نامعلوم'
       text+=u'|'+str(count)+u'||'+link.replace('_',' ').strip()+u'||'+k+u' || '+k۲+u'||'+link_result
   text=uppage+text.strip()+downpage
   fapage.put(text, u'ربات:افزودن آمار پربیننده‌ترین مقالات', minorEdit = True)
   del text
   text=u' '