Advertisement
Guest User

popularpages.py

a guest
Apr 28th, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.93 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8  -*-
  3. #
  4. # Reza(User:reza1615), 2014
  5. #
  6. # Distributed under the terms of the CC-BY-SA 3.0 .
  7. import pagegenerators,re
  8. import wikipedia,time
  9. import codecs,query
  10. import urllib2
  11. import urlparse
  12. from BeautifulSoup import BeautifulSoup
  13.  
  14. wikipedia.config.put_throttle = 0
  15. wikipedia.put_throttle.setDelay()
  16. text=u' '
  17. todayup=u"'''تاریخ تجدید''''': ~~~~~''\n"
  18. titlechart=u'!درجہ!! صفحہ!! مشاہدات (یومیہ اوسط)!!درجہ تعداد مشاہدہ در اردو ویکی!!انسلاکات!!بین الویکی!!تعداد روابط در مضمون!! تعداد زمرہ!!تعداد تصویر!!حجم صفحہ (بائٹ){{سخ}}15 کلوبائٹ سے کم حجم والے مضامین رنگین شکل میں !!دیگر تفصیلات'+u'\n|-\n'
  19. uppage=todayup+u'\n{| class="wikitable sortable"\n'+titlechart
  20. downpage=u'\n|}\n[[زمرہ:ویکیپیڈیا]]\n[[زمرہ:رودادہائے قاعدہ معطیات]]\n'
  21. count=0
  22.  
  23.  
  24.  
  25. def urlEncodeNonAscii(b):
  26.     return re.sub('[\x80-\xFF]', lambda c: '%%%02x' % ord(c.group(0)), b)
  27.  
  28. def iriToUri(iri):
  29.     parts= urlparse.urlparse(iri)
  30.     return urlparse.urlunparse(
  31.         part.encode('idna') if parti==1 else urlEncodeNonAscii(part.encode('utf-8'))
  32.         for parti, part in enumerate(parts)
  33.     )
  34.  
  35. def num_view(link):
  36.         matn,matn2=False,False
  37.         urlr=u"http://stats.grok.se/ur/latest90/"+link
  38.         urlr=iriToUri(urlr)
  39.         #wikipedia.output(urlr)
  40.         page = urllib2.urlopen(urlr)
  41.         soup = str(BeautifulSoup(page))
  42.         if soup.find('has been viewed')!=-1:
  43.             matn=soup.split('has been viewed')[1].split('times in the last 90 days')[0].strip()
  44.             matn=str(int(matn)/90)
  45.         if soup.find('This article ranked')!=-1:
  46.             matn2=soup.split('This article ranked')[1].split('in traffic on')[0].strip()
  47.         return matn,matn2
  48.  
  49. def condition(text):
  50.       wikipedia.config.put_throttle = 0
  51.       wikipedia.put_throttle.setDelay()
  52.       alarm=' '
  53.  
  54.       try:
  55.          page = wikipedia.Page( wikipedia.getSite( u'ur' ),text )
  56.          wikipedia.output( u'opening %s ...' % page.title() )
  57.          text = page.get()
  58.          alarm+=u' '
  59.          objective=u'||'
  60.         #----------------------------------------------refrences-------------------
  61.          if text.find(u'{{حوالہ')!=-1:
  62.              alarm+=u'حوالہ درکار ،'
  63.          if text.find(u'{{درکار')!=-1:
  64.               alarm+=u'حوالہ درکار ،'          
  65.          if text.find(u'{{بدون حوالہ')!=-1:
  66.               alarm+=u'بدون حوالہ ،'
  67.          if text.find(u'{{متخصص')!=-1:
  68.              alarm+=u'متخصص ،'
  69.          if text.find(u'{{بہترین مضمون}}')!=-1:
  70.              alarm+=u'{{قلم رنگ|سورمه‌ای|فیلی|بہترین مضمون}}'
  71.          if text.find(u'{{امیدوار برائے منتخب مقالہ}}')!=-1:
  72.              alarm+=u'{{قلم رنگ|بنفش|زرد|امیدوار برائے منتخب مقالہ}}'
  73.          if text.find(u'{{امیدوار برائے بہترین مضمون}}')!=-1:
  74.              alarm+=u'{{قلم رنگ|سبز|زرد|امیدوار برائے بہترین مضمون}}'            
  75.          if text.find(u'{{منتخب مضمون}}')!=-1:
  76.              alarm+=u'{{قلم رنگ|سفید|خاکستری|منتخب مضمون}}'
  77.         #----------------------------------------------khord----------------------
  78.          if text.find(u'نامکمل}}')!=-1:
  79.            if text.find(u'{{قطعہ-نامکمل')!=-1:
  80.                alarm+=u'{{قلم رنگ|بنفش||قطعہ-نامکمل}} ،'
  81.            else:
  82.                alarm+=u'نامکمل ،'
  83.          if text.find(u'درکار}}')!=-1:
  84.            alarm+=u'درکار ،'
  85.          if text.find(u'{{طرفداری')!=-1:
  86.              alarm+=u'عدم‌بی‌طرفی ،'
  87.          if text.find(u'{{درستی')!=-1:
  88.              alarm+=u'عدم توافق در درستی ،'
  89.          if text.find(u'{{ادغام')!=-1:
  90.              alarm+=u'ادغام ،'
  91.          if text.find(u'{{در دست ویرایش')!=-1:
  92.              alarm+=u'ویرایش ،'
  93.          if text.find(u'{{ویکائی')!=-1:
  94.              alarm+=u'ویکائی ،'
  95.          if text.find(u'{{تمیزکاری')!=-1:
  96.              alarm+=u'تمیزکاری ،'
  97.          if text.find(u'{{لحن')!=-1:
  98.              alarm+=u'لحن ،'
  99.          if text.find(u'{{اصلاح')!=-1:
  100.              alarm+=u'نیازمند ترجمه ،'
  101.          if text.find(u'{{بازنویسی')!=-1:
  102.              alarm+=u'بازنویسی ،'
  103.          if text.find(u'{{به روز رسانی')!=-1:
  104.              alarm+=u'به‌روز رسانی ،'
  105.          if text.find(u'{{به‌روز رسانی')!=-1:
  106.              alarm+=u'به‌روز رسانی ،'
  107.  
  108.          if alarm[-1]==u'،':
  109.              alarm=alarm[0:-1].strip()  
  110.          interwikis=u'{{subst:formatnum:'+str(len(page.interwiki()) ).strip()+u'}}'
  111.          cats=u'{{subst:formatnum:'+str(len(page.categories(api=True))).strip()+u'}}'
  112.          linked=u'{{subst:formatnum:'+str(len(page.linkedPages())).strip()+u'}}'
  113.          image=u'{{subst:formatnum:'+str(len(page.imagelinks())).strip()+u'}}'
  114.          alarm+=u'||'+interwikis+u'||'+linked+u'||'+cats+u'||'+image+u'||{{حجم مضمون|'+page.title().strip()+u'|15000}}||\n|-\n'
  115.          return alarm
  116.       except wikipedia.IsRedirectPage:
  117.           return False
  118.       except:
  119.           return False
  120. list_old=[u"ویکیپیڈیا:مقبول صفحات/بھارت",u"ویکیپیڈیا:مقبول صفحات/افراد",u"ویکیپیڈیا:مقبول صفحات/فلسفہ",u"ویکیپیڈیا:مقبول صفحات/دین زرتشتی",u"ویکیپیڈیا:مقبول صفحات/اسلام",
  121. u"ویکیپیڈیا:مقبول صفحات/مسیحیت",u"ویکیپیڈیا:مقبول صفحات/یہودیت",u"ویکیپیڈیا:مقبول صفحات/رمان",u"ویکیپیڈیا:مقبول صفحات/کتابیں",
  122. u"ویکیپیڈیا:مقبول صفحات/رسائل",u"ویکیپیڈیا:مقبول صفحات/زبانیں",u"ویکیپیڈیا:مقبول صفحات/طبیعیات",u"ویکیپیڈیا:مقبول صفحات/شیمی",
  123. u"ویکیپیڈیا:مقبول صفحات/ریاضی",u"ویکیپیڈیا:مقبول صفحات/فناوری",u"ویکیپیڈیا:مقبول صفحات/رایانه و رایانش",u"ویکیپیڈیا:مقبول صفحات/موسیقی",
  124. u"ویکیپیڈیا:مقبول صفحات/هنرهای بصری",u"ویکیپیڈیا:مقبول صفحات/فلم",u"ویکیپیڈیا:مقبول صفحات/لغت",u"ویکیپیڈیا:مقبول صفحات/سینما",u"ویکیپیڈیا:مقبول صفحات/رقص",
  125. u"ویکیپیڈیا:مقبول صفحات/ورزش",u"ویکیپیڈیا:مقبول صفحات/فٹبال",u"ویکیپیڈیا:مقبول صفحات/فوتبال در ایران",u"ویکیپیڈیا:مقبول صفحات/زیست‌شناسی",
  126. u"ویکیپیڈیا:مقبول صفحات/طب",u"ویکیپیڈیا:مقبول صفحات/روانشناسی",u"ویکیپیڈیا:مقبول صفحات/میکروب‌شناسی",u"ویکیپیڈیا:مقبول صفحات/حشرات",
  127. u"ویکیپیڈیا:مقبول صفحات/حیوانات",u"ویکیپیڈیا:مقبول صفحات/پرندگان",u"ویکیپیڈیا:مقبول صفحات/پستانداران",u"ویکیپیڈیا:مقبول صفحات/خزندگان و دوزیستان",
  128. u"ویکیپیڈیا:مقبول صفحات/سگها",u"ویکیپیڈیا:مقبول صفحات/جغرافیہ",u"ویکیپیڈیا:مقبول صفحات/ایران",
  129. u"ویکیپیڈیا:مقبول صفحات/افغانستان",u"ویکیپیڈیا:مقبول صفحات/شہر",u"ویکیپیڈیا:مقبول صفحات/آبشار",u"ویکیپیڈیا:مقبول صفحات/معماری",
  130. u"ویکیپیڈیا:مقبول صفحات/باستان‌شناسی",u"ویکیپیڈیا:مقبول صفحات/جنگلداری",u"ویکیپیڈیا:مقبول صفحات/انرژی",u"ویکیپیڈیا:مقبول صفحات/زندگی روزانه",
  131. u"ویکیپیڈیا:مقبول صفحات/هوانوردی",u"ویکیپیڈیا:مقبول صفحات/فرودگاه‌ها",u"ویکیپیڈیا:مقبول صفحات/پویانمایی",u"ویکیپیڈیا:مقبول صفحات/جنگ",
  132. u"ویکیپیڈیا:مقبول صفحات/کالبدشکافی",u"ویکیپیڈیا:مقبول صفحات/خودرو",u"ویکیپیڈیا:مقبول صفحات/کالبدشکافی",u"ویکیپیڈیا:مقبول صفحات/تاریخی مقامات",
  133. u"ویکیپیڈیا:مقبول صفحات/شرکت‌ها",u"ویکیپیڈیا:مقبول صفحات/انٹرنیٹ",u"ویکیپیڈیا:مقبول صفحات/ویب سائٹس",u"ویکیپیڈیا:مقبول صفحات/بازیگران و فیلمسازان",
  134. u"ویکیپیڈیا:مقبول صفحات/دولت و سیاست",u"ویکیپیڈیا:مقبول صفحات/جامعات",u"ویکیپیڈیا:مقبول صفحات/گردشگری",u"ویکیپیڈیا:مقبول صفحات/اسباب‌بازی‌ها"]
  135.  
  136. for fa_title in list:
  137.     fapage = wikipedia.Page( wikipedia.getSite( u'ur' ),fa_title )
  138.     links=fapage.linkedPages()
  139.     count=0
  140.     for link in links:
  141.         link=link.title().replace(u'[[',u'').replace(u']]',u'').strip()
  142.         count+=1
  143.         k,k2=num_view(link.replace(u' ',u'_').replace(u'‌',u'%E2%80%8C'))
  144.         link_result=condition(link.replace(u'_',u' '))
  145.         if link_result==False:
  146.             continue
  147.         if not k:
  148.             k=u'0'
  149.         if not k2:
  150.             k2=u'نامعلوم'
  151.         text+=u'|{{subst:formatnum:'+str(count)+u'}}||[['+link.replace('_',' ').strip()+u']]||{{subst:formatnum:'+k+u'}} || {{subst:formatnum:'+k2+u'}}||'+link_result
  152.     text=uppage+text.strip()+downpage
  153.     fapage.put(text, u'روبالہ:اضافہ شماریات مقبول صفحات', minorEdit = True)
  154.     del text
  155.     text=u' '
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement