راهنما:شروع کار با ربات پایتون: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
واگردانی |
|||
خط ۱:
{{بهروزرسانی}}
{{ناوبری ربات}}
'''برای آشنایی مقدماتی
== قبل از شروع ==
برای راحتی و درک بیشتر این راهنما لازم است قبل از شروع کار با برخی مفاهیم آشنایی داشته باشید که در زیر توضیح داده میشود.
'''پایویکیبات''': چهارچوب یا فریمورکی است که برای آسان کردن کار بر روی پروژههای مدیا ویکی و به زبان پایتون نوشته شده است و دارای
نسخه '''کامپت''' نسخه قدیمی تر ولی کامل تر و تست شده تر است و با سیستمهای خانواده ویندوز سازگار است و نسخه کور جدیدتر و بر استفاده از امکانات جدید تمرکز دارد و با سیستمهای خانواده لینوکس سازگار است ولی بعضی از اسکریپتها روی آن پیادهسازی نشده است.
خط ۱۶:
تذکر: برای آگاهی از آخرین تغییرات بر روی این فریمورک و راهنماهای نوشته شده توسط توسعه دهندگان پایویکیبات همیشه میتوانید به سایت پروژه [https://www.mediawiki.org/wiki/Manual:Pywikibot پایویکیبات] مراجعه کنید.
'''تذکر مهم''': '''به روز بودن ربات''' در اجرای رباتهای دیگران و یا رباتهای خود پروژه پایویکیبات نکته بسیار مهمی است واگر از به روز بودن آن اطلاع ندارید از نویسنده ربات و یا [[ویکیپدیا:فهرست مدیران|مدیران ویکیپدیا]] که
تذکر: در بسیاری از موارد نیازی به نوشتن ربات جدید نیست و میتوان ویرایشهای مورد نظر از [[راهنما:شروع_کار_با_ربات_پایتون#.D8.B1.D8.A8.D8.A7.D8.AA.D9.87.D8.A7.DB.8C_.D8.B1.D8.A7.DB.8C.D8.AC|رباتهای از پیش نوشته شده پروژه پایویکیبات]] استفاده کرد.
خط ۲۵:
برای راه اندازی ربات پایتون بر روی کامپیوتر خانگی یا شخصی نیاز به یک سری مقدمات است که در زیر آنها را ذکر میکنیم.
تذکر: شرح کامل کلاسها و توابع و اسکریپتهای Pywikibot را
=== ۱. نصب برنامه Python ===
میتوانید نسخهای از آن را از طریق لینک زیر دریافت کنید.
تذکر :
* [http://www.python.org/download/releases/2.7.3/ صفحهٔ پایتون ۲٫۷٫۳]
* [http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi پیوند مستقیم نصب کنندهٔ پایتون ۲٫۷٫۳] (برای راه اندازی پایتون در سیستمعامل ویندوز)
* پایتون ۲ در اکثر سیستمعاملهای گنو/لینوکسی نصب است.
برای اطمینان از نصب بودن پایتون در
<syntaxhighlight lang="bash">$which python</syntaxhighlight>
در صورتی که پایتون نصب باشد خروجی دستور بالا آدرس محل اجرای دستور پایتون را به شما میدهد.
<syntaxhighlight lang="bash">/usr/bin/python</syntaxhighlight>
سطر ۵۰ ⟵ ۵۱:
که در صورتی که پایتون ارجاعی نسخهٔ ۳ به بالا باشد احتمالاً باید از دستور <code>python2</code> برای استفاده پایتون ۲ استفاده کنید.
برای مثال اگر پایتون در [[لینوکس اوبونتو]] شما نصب نبود
<syntaxhighlight lang="bash">$sudo apt-get install python-dev</syntaxhighlight>
سطر ۶۴ ⟵ ۶۵:
'''تذکر:''' در سیستمهای عامل خانواده لینوکس نیازی به نصب برنامه ویرایشگر متن ندارید و این برنامهها در سیستم عامل شما نصب هستند مانند برنامه [[جیادیت]] یا [[گنو نانو]] یا [[ویم]] که همگی از utf-8 پشتیبانی میکنند.
مرحله سوم: دریافت سورس کدهای رباتهای مرسوم به زبان پایتون (پایویکی). کدها را از حالت فشرده خارج کنید و در یک پوشه قرار بدید.
سطر ۷۱ ⟵ ۷۳:
نسخه '''کامپت''':
برای کار با نسخه کور
نسخه '''کور''':
در هر پوشهای و در هر قسمت هارد رایانهتان باشد کار میکند.
سطر ۸۵ ⟵ ۸۷:
<source lang="python">
▲family = 'black77p'
mylang = 'fa'
transliteration_target = None
usernames['
console_encoding = 'utf-8'
</source>
سطر ۹۵ ⟵ ۹۶:
و فایل رو به نام '''user-config.py''' ذخیره کنید.
نکته: اگر تاکنون حساب کاربری برای ربات خود ایجاد نکردهاید اکنون زمان آن رسیدهاست تا [http://fa.wikipedia.org/w/index.php?title=Special:Userlogin&type=signup ایجادش کنید]. دقت نمائید نام رباتتان باید به صورت انگلیسی باشد و در انتهای نام نیز از کلمه Bot استفاده شده باشد تا بیانگر ربات بودن این حساب کاربری در زمان ویرایش باشد.
بطور مثال: [[user:Amolbot|Amolbot]] ,[[user:Rezabot|Rezabot]] ,[[user:ebrambot|ebrambot]] ,[[user:Dexbot|Dexbot]] ,[[user:Z-BOT|Z-BOT]]
اکنون در فایل user-config.py نام ربات خود را جایگزین YourBot نمائید.
'''تذکر:''' در صورتی که ربات شما در ویکی دیگری پرچم دارد
<source lang="
usernames['
</source>
'''تذکر:'''حتماً دقت نمائید تا در دو سمت نام ربات از space استفاده نشود: u' YourBot ' {{چر}} اشتباه است و حتماً باید به صورت u'YourBot'{{چر}} درج شود. در صورتی که این اشتباه را مرتکب شوید، ربات در حین ویرایش و برای هر ویرایش از شما درخواست پسورد خواهد نمود.
== گام دوم ==
تذکر: افرادی که از خانواده سیستمهای عامل [[یونیکس]] یا [[لینوکس]] استفاده
پس از دریافت و نصب pywikipedia (البته کدهای پایتون را فقط از حالت فشرده خارج کنید و نصبی نیستند) نوبت به ساخت یک میانبر برای اجرا و فرماندهی پایتونها میرسد.
سطر ۱۲۲ ⟵ ۱۲۵:
cmd.exe
و سپس NEXT را بزنید. در کادر جدید نامی اختیاری برگزینید به طور مثال:My Robot CMDو سپس FINISH را بزنید.
حال بر روی میانبر ساخته شده راست کلیک نمائید و از قسمت PROPERTIES به تب shortcut بروید و در کادری که مقابل آن نوشته شدهاست:
start in:
سطر ۱۵۱ ⟵ ۱۵۴:
== گام سوم ==
بعد از ساختن فایل user-config.py <small>(اگر ایجاد نشده باشد با خطا مواجه میشوید)</small> حال روی میانبر cmd که ساختید کلیک کنید. دستور زیر را تایپ نمایید:
{{راهنما:شروع کار با ربات پایتون/CMD2}}
<!-- یا در بعضی از سیستمعاملها دستور زیر را وارد کنید.
سطر ۱۵۷ ⟵ ۱۶۰:
-->بعد از تایپ دستور بالا از شما پسورد لاگین شدن رباتتان را میخواهد.password (پسورد کاربری ربات) را وارد کرده و سپس {{key press|Enter}} را بزنید. حال به شما اطلاع میدهد از طریق API کانکت شدید.
تذکر: در نسخه کور، در صورت نبودن فایل user-config.
برای امتحان،
تذکر:برای اجرای این دستور (از کامپیوتر شخصی و یا از هر سروری) به روی ویکیپدیا، نیاز به درخواست مجوز
<syntaxhighlight lang="bash">python welcome.py</syntaxhighlight>
حالا ربات شما شروع میکند به خوشامدگوئی به تازهواردهای ویکیپدیای فارسی.
شما میتوانید با سایر اسکریپتها کار کنید که تعدادی از آنها در پوشه pywikipedia (پوشهای که در گام دوم دانلود کردید) یا در بخش [[وپ:درخواست|درخواست رباتها]] قرار دارند.
برای اجرای کدهای پایتون هم میتوانید آن را از طریق Notepad++ باز کنید و توضیحات ابتدائیش رو مطالعه کنید و بسته به نیازتان از آن استفاده کنید.
'''تذکر''': برای اجرای اسکریپتهای نسخه '''کور''' نیاز است که بین کلمه پایتون و نام اسکریپت <code>pwb.py</code> را تایپ نمایید.
<syntaxhighlight lang="bash">$python pwb.py myscript.py</syntaxhighlight>
سطر ۱۷۷ ⟵ ۱۸۰:
== درخواست پرچم ==
قبل از اجرای ربات و کار کردن با آن،
{{نکته}} '''در صورت نداشتن پرچم، دسترسی ربات شما به علت به هم ریختن تغییرات اخیر بسته میشود. '''
== رباتهای رایج ==
=== رباتهای استاندارد ویکیپدیا (pywikipedia) ===
در مجموعهای که دانلود کردید، بیش از ۳۰ عدد کد برای ربات موجود است که رباتهای زیر بسیار کاربردی هستند و نیز کار با آنها راحت است. برای اطلاعات بیشتر از این کدها، در ابتدای فایل آنها دستورالعمل و روش استفاده و مثال ذکر شدهاست. همچنین میتوانید در خط فرمان، نام و پسوند کد را به همراه help وارد کنید تا راهنمای آن کد را ببینید. برای باز کردن فایل این کدها باید از برنامههای ویرایش متن مانند Notepad++ یا IDLE استفاده کنید.
:'''تذکر:''' برای مشاهده لیست کامل رباتها به [http://www.mediawiki.org/wiki/Manual:Pywikipediabot/Scripts اینجا] مراجعه نمایید در آنجا بعضی از رباتها صفحه راهنما خود را دارند. در فهرست زیر تعدادی از رباتهای پرکاربر ذکر شدهاند.
{| class="wikitable"
! نام فارسی!! نام فایل!! توضیحات!! مثال
|-
|ورود به ویکیپدیا ||login.py||ورود به ویکیپدیا||در هنگام تایپ پسورد هیچ حرفی دیده نمیشود بعد از زدن {{key press|Enter}} کار خود را انجام میدهد. برای مواردی که ربات در چند ویکی پرچم دارد از عبارت {{عبارت چپچین|-all}} و برای مواردی که پسوردها مشابهاست از {{عبارت چپچین|-pass:yourbotpass -all}} استفاده
|-
|[[ویکیپدیا:ربات/خوشآمدگویی|خوشآمدگویی]] ||welcome.py|| خوش آمدگویی به کاربرهای
|-
|[[ویکیپدیا:ربات/انتقال رده|تغییر رده (انتقال)]]{{سخ}} '''در ویکیفا برای انتقال رده از کد [[وپ:دار]] استفاده میشود.'''||category.py || کار با ردهها و انتقال مقالات آنها یا تغییر نام ردهها|| {{عبارت چپچین|category.py move -from:alireza -to:ali}} {{سخ}} این ربات مقالات رده alireza را به ali انتقال میدهد. همچنین این ربات میتواند شجره ردهها را برای شما ترسیم کند تا از ردهها اطلاعات بیشتری بدست بیاورید
|-
|انتقال مقاله || move.py|| انتقال فلهای مقالهها همراه با تاریخچه از یک مجموعه نام به مجموعه نام دیگر||
سطر ۲۰۱ ⟵ ۲۰۴:
|-
|add_text|| add_text.py||اضافه کننده متن به بالا یا پایین مقاله||برای افزودن الگو به مقالاتی که عضو یک ناوباکس هستند.{{سخ}}{{سخ}}'''لینوکس''' و '''سولاریس (تولسرور):'''{{سخ}}{{چپ چین}}python add_text.py -links:"الگو:فلان" -text:"{{الگو|فلان}}" -except:"\{\{(الگو:|)(فلان|تغییرمسیر فلان|تغییرمسیر دوم)" -summary:"ربات: افزودن الگوی فلان" {{پایان چپ چین}}{{سخ}}'''ویندوز:'''{{سخ}}
برای ویندوز چون CMD از یونیکد پشتیبانی نمیکند در یک فایل متن
{{چپ چین}}python add_text.py -links:نام الگو به صورت حروف درصدی -textfile:up.txt{{پایان چپ چین}}{{سخ}}
'''تذکر:''' به علتی که دستور except در این روش قابل استفاده نیست مگر اینکه نامهای دیگر الگو به حروف لاتین باشد در نتیجه باید مطمئن باشید که این الگو به زیر صفحه مقالات با نام دیگر اضافه نشدهباشد.
|-
سطر ۲۰۹ ⟵ ۲۱۲:
=== رباتهای دستساز ویکیفا ===
*
*
==
''این مطلب برای کاربرهای حرفهای است اگر شروع کارتان با ربات هست این بخش را برای دفعات بعد مطالعه نمایید.''
سطر ۲۱۹ ⟵ ۲۲۲:
password_file= 'passfile'
</source>
را اضافه کنید. و همچنین فایل بدون پسوندی با نام '''passfile''' در فولدر pywikipedia درست کنید و در آن
<source lang="python">
("botname", "botpass")
</source>
را
== پارامترهای کاربردی ==
برای کار کردن با رباتها بعضی از پارامترها هستند که در '''همه رباتها'''(اکثر رباتهای pywikipedia و تعدادی از رباتهای [[وپ:درخواست]]) مشترک هستند و میتوان از آنها استفاده کرد. پارامترها در اصل بیان کننده موارد یا شرطهایی هستند که ما برای ربات مشخص میکنیم مثلا ربات در کدام مقالات یا فضای نام کار کند یا چه مواردی تغییر دهد
=== pagegenerators.py ===
پارامترهایی که در کد '''{{قلم رنگ|قرمز تیره|pagegenerators.py}}''' هستند که مهمترین آنها در زیر ذکر شدند برای موارد دیگر راهنمای درون فایل '''pagegenerators.py''' را مطالعه کنید.
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-page}}:}}'''برای کار کردن فقط در مقالهای خاص کاربرد دارد
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-file}}:}}'''برای کار کردن بر روی فهرستی از مقالات که در یک فایل '''txt. ''' در کنار ربات قرار دارد. به صورتی که نام آنها به در میان '''<nowiki>[[</nowiki>''' و '''<nowiki>]]</nowiki>''' قرار گرفته باشد مثال: فایل متنیای درست میکنیم که <nowiki>[[ایران]]</nowiki>،<nowiki>[[جهان]]</nowiki>، <nowiki>[[آسیا]]</nowiki> درون آن باشد و با نام '''test.txt''' و با فرمت '''UTF-۸''' ذخیره میکنیم و عبارت '''{{عبارت چپچین|-file:test.txt}}''' را در جلوی ربات تایپ میکنیم و ربات فقط در این سه عنوان مقاله کار میکند.
# '''{{قلم رنگ|قرمز تیره| {{عبارت چپچین|-new}}:}}''' با دادن عدد در مقابل {{عبارت چپچین|-new:۱۰۰}} ربات
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-start}}:}}'''با نوشتن '''{{عبارت چپچین|-start:!}}''' ربات از ابتدای ویکی شروع به کار میکند و با '''{{عبارت چپچین|-start:شیراز}}''' ربات از مقالههایی که به ترتیب الفبا بعد از '''شیراز''' قرار دارند کار میکند. برای کارکردن در فضای نام دیگر به جز مقاله (رده، الگو، ویکیپدیا
# ''' {{قلم رنگ|قرمز تیره|{{عبارت چپچین|-ns}}}}''' یا''' {{قلم رنگ|قرمز تیره|{{عبارت چپچین|-namespace}}:}}''' با نوشتن '''{{عبارت چپچین|-ns:۱۴}}''' ربات فقط در محیط ردهها کار میکند برای مشاهده عدد فضاهای نام به[[:en:Wikipedia:Namespace#Programming]] مراجعه کنید.
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-recentchanges}}:}}'''با نوشتن عدد در مقابل این پارامتر بر اساس تغییرات اخیر ربات کار میکند
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-lang}}:}}'''به کمک آرگومان {{عبارت چپچین|-lang}} میتوان ربات را در ویکی خاصی اجرا کرد
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-pt}}:}}'''برای تنظیم سرعت ربات برای ویرایش در حالتهای آزمایشی
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-uncat}}:}}''' برای اجرای ربات در فضای [[ویژه:صفحههای_ردهبندی_نشده|صفحههای ردهبندینشده]].
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-family}}:}}''' برای اجرای ربات در پروژههای دیگر -family:wikinews (برای
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-lang}}:}}'''برای راندن ربات در زبان خاصی باید {{عبارت چپچین|-lang:xx}} که xx حرف ابتدای آن ویکی هست
== پرسشهای رایج ==
'''{{قلم رنگ|سبز|پرسش:}}چطور میتوان کلمات فارسی را در CMD وارد کرد؟'''{{سخ}}
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}'''بعد از اینکه از طریق ربات توانستید به سایت ویکیپدیا وصل شوید نیاز به وارد کردن دستورها میباشد. برای وارد کردن حروف فارسی در خط دستور ویندوز cmd باید کلمات فارسی را به وسیله [http://meyerweb.com/eric/tools/dencoder/ این ابزار] (به فرمت to Entities) به حروف & دار تبدیل کنید تا خط دستور ویندوز کلمات شما را بشناسد. (پیشنهاد میکنم که این ابزار را در favourite یا BookMark مرورگر خود ذخیره کنید تا همیشه همراه شما باشد.)
'''{{قلم رنگ|سبز|پرسش:}}چگونه میتوان محتویات تبدیل شده به صورت درصدی (٪) در ابزار فوق را در cmd وارد کرد؟'''{{سخ}}
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}''' مانند همه بقیه کارهای ویندوز با {{key press|Ctrl}}+ {{key press|C}} یا کلیک سمت راست از ابزار کپی کنید و با کلیک سمت راست در cmd دستور Paste را انتخاب کنید.
'''{{قلم رنگ|سبز|پرسش:}} بعد اجرای کدها (رباتها) با خطای «unicode test: triggers problem #308110۰» مواجه میشوم چه باید کرد؟'''{{سخ}}
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}'''این خطا اهمیتی ندارد و با وجود این خطا ربات کاملا کار خود را انجام میدهد و مهم نیست.
'''{{قلم رنگ|سبز|پرسش:}} در هنگام وارد کردن پسورد عبارتی تایپ نمیشود'''{{سخ}}
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}'''برای مشخص نشدن تعداد حروف پسورد هیچ حرفی تایپ نمیشود. پسورد را وارد کنید و {{key press|enter}} را بزنید.
'''{{قلم رنگ|سبز|پرسش:}}چگونه میتوان محتویات CMD را کپی کرد؟'''{{سخ}}
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}''' ابتدا روی CMD راست کلیک کرده، Mark را انتخاب کنید. سپس محتوایی را که میخواهید کپی کنید انتخاب کرده و {{key press|enter}} را بزنید.
سطر ۲۶۲ ⟵ ۲۶۴:
'''{{قلم رنگ|سبز|پرسش:}} تعدادی از کدهای موجود در بخش درخواست ربات ارور unicod دارند چه باید کرد؟'''
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}''' با توجه به اینکه اکثر این کدها در محیط [[اکلیپس]] نوشته شدهاند پیشنهاد میشود این برنامه را دانلود نمایید.
==
برای شروع کار بعد از انجام موارد بالا
* [[راهنما:ربات]]
* [[ویکیپدیا:سیاست رباتیک]]
سطر ۲۷۹ ⟵ ۲۸۲:
* [[اکلیپس]]
* [[b:آموزش اکلیپس|آموزش اکلیپس]]
*
*
*
*
===
*
*
== پانویس ==
{{پانویس}}
[[رده:راهنمای ویکیپدیا]]
|