ويكيبيديا:بوت/تصليح قالب يوتيوب
الاسم | تصليح قالب يوتيوب |
---|---|
اللغة | بايثون |
الرخصة | CC-BY-SA 3.0 |
تجريب | نعم |
قدرات | تصليح قالب يوتيوب بشکل أفضل |
الصانع | Reza1615 |
المستخدم | عباس |
نموذج تحریر | نموذج |
التحميل | [ من هنا] |
هذا البوت يعمل على التولسيرفر فقط
الکود
عدل<syntaxhighlight lang="python">
- !/usr/bin/python
- -*- coding: utf-8 -*-
- Reza(User:reza1615), 2012
- Distributed under the terms of the CC-BY-SA 3.0 .
import wikipedia, re, pagegenerators import MySQLdb as mysqldb import config, urllib,simplejson from urllib import urlencode wikipedia.config.put_throttle = 0 wikipedia.put_throttle.setDelay() site = wikipedia.getSite('ar','wikipedia')
- sql part
query='SELECT page_title, el_to FROM page JOIN externallinks ON el_from=page_id WHERE page_namespace=0 AND el_to LIKE "%www.youtube.%"'; conn = mysqldb.connect('arwiki-p.db.toolserver.org', db = site.dbName(),
user = config.db_username, passwd = config.db_password)
cursor = conn.cursor()
wikipedia.output(u'Executing query:\n%s' % query) query = query.encode(site.encoding()) cursor.execute(query) count=0 while True:
try: pageTitle, pagelink = cursor.fetchone() except TypeError: # Limit reached or no more results break try: if pageTitle: pageTitle = unicode(pageTitle, site.encoding()) pageTitle = re.sub(ur"_",u" ",pageTitle) pageTitle = re.sub(ur"(^\"|\"$)",u"",pageTitle) pageTitle = re.sub(ur"(^\s*|\s$)",u"",pageTitle) pagelink=unicode(pagelink, site.encoding()) if pagelink.find(u'watch?v=')==-1: continue page=wikipedia.Page(site,pageTitle) text=page.get() part2=pagelink+text.split(u'['+pagelink)[1].split(u']')[0] part3=text.split(u'['+pagelink)[1].split(u']')[0] part1=pagelink.split(u'watch?v=')[1].split(u'&')[0].strip() text_old=text linkyou=u'['+part2+u'] ' text=text.replace(linkyou,u''+part3.strip()+u' على يوتيوب') linkyou=u'['+part2+u']' text=text.replace(linkyou,u''+part3.strip()+u' على يوتيوب') if text==text_old: continue else: page.put(text,u'روبوت تصليح قالب يوتيوب (الکود)',) except: continue