راهنما:شروع کار با ربات پایتون: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
واگردانی |
|||
خط ۱:
{{بهروزرسانی}}
{{ناوبری ربات}}
'''برای آشنایی مقدماتی
== قبل از شروع ==
برای راحتی و درک بیشتر این راهنما لازم است قبل از شروع کار با برخی مفاهیم آشنایی داشته باشید که در زیر توضیح داده میشود.
'''پایویکیبات''': چهارچوب یا فریمورکی است که برای آسان کردن کار بر روی پروژههای مدیا ویکی و به زبان پایتون نوشته شده است و دارای
نسخه '''کامپت''' نسخه قدیمی تر ولی کامل تر و تست شده تر است و با سیستمهای خانواده ویندوز سازگار است و نسخه کور جدیدتر و بر استفاده از امکانات جدید تمرکز دارد و با سیستمهای خانواده لینوکس سازگار است ولی بعضی از اسکریپتها روی آن پیادهسازی نشده است.
خط ۱۶:
تذکر: برای آگاهی از آخرین تغییرات بر روی این فریمورک و راهنماهای نوشته شده توسط توسعه دهندگان پایویکیبات همیشه میتوانید به سایت پروژه [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 پشتیبانی میکنند.
مرحله سوم: دریافت سورس کدهای رباتهای مرسوم به زبان پایتون (پایویکی). کدها را از حالت فشرده خارج کنید و در یک پوشه قرار بدید.
سطر ۷۵ ⟵ ۷۳:
https://github.com/wikimedia/pywikibot-compat/archive/master.zip
برای کار با نسخه کور
نسخه '''کور''':
سطر ۹۶ ⟵ ۹۴:
و فایل رو به نام '''user-config.py''' ذخیره کنید.
نکته: اگر تاکنون حساب کاربری برای ربات خود ایجاد نکردهاید اکنون زمان آن رسیدهاست تا [
بطور مثال: [[user:Amolbot|Amolbot]] ,[[user:Rezabot|Rezabot]] ,[[user:ebrambot|ebrambot]] ,[[user:Dexbot|Dexbot]] ,[[user:Z-BOT|Z-BOT]]
اکنون در فایل user-config.py نام ربات خود را جایگزین YourBot نمائید.
'''تذکر:''' در صورتی که ربات شما در ویکی دیگری پرچم دارد
<source lang="python">
usernames['wikipedia']['en'] = u'YourBot'
سطر ۱۱۱ ⟵ ۱۰۷:
== گام دوم ==
تذکر: افرادی که از خانواده سیستمهای عامل [[یونیکس]] یا [[لینوکس]] استفاده
پس از دریافت و نصب pywikipedia (البته کدهای پایتون را فقط از حالت فشرده خارج کنید و نصبی نیستند) نوبت به ساخت یک میانبر برای اجرا و فرماندهی پایتونها میرسد.
سطر ۱۲۵ ⟵ ۱۲۱:
cmd.exe
و سپس NEXT را بزنید. در کادر جدید نامی اختیاری برگزینید
حال بر روی میانبر ساخته شده راست کلیک نمائید و از قسمت PROPERTIES به تب shortcut
start in:
سطر ۱۵۴ ⟵ ۱۵۰:
== گام سوم ==
بعد از ساختن فایل user-config.py
{{راهنما:شروع کار با ربات پایتون/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}}
|-
|[[ویکیپدیا:ربات/خوشآمدگویی|خوشآمدگویی]]
|-
|[[ویکیپدیا:ربات/انتقال رده|تغییر رده (انتقال)]]{{سخ}} '''در ویکیفا برای انتقال رده از کد [[وپ:دار]] استفاده میشود.'''||category.py || کار با ردهها و انتقال مقالات آنها یا تغییر نام ردهها|| {{عبارت چپچین|category.py move -from:alireza -to:ali}} {{سخ}} این ربات مقالات رده alireza
|-
|انتقال مقاله || move.py|| انتقال فلهای مقالهها همراه با تاریخچه از یک مجموعه نام به مجموعه نام دیگر||
سطر ۲۰۴ ⟵ ۲۰۰:
|-
|add_text|| add_text.py||اضافه کننده متن به بالا یا پایین مقاله||برای افزودن الگو به مقالاتی که عضو یک ناوباکس هستند.{{سخ}}{{سخ}}'''لینوکس''' و '''سولاریس (تولسرور):'''{{سخ}}{{چپ چین}}python add_text.py -links:"الگو:فلان" -text:"{{الگو|فلان}}" -except:"\{\{(الگو:|)(فلان|تغییرمسیر فلان|تغییرمسیر دوم)" -summary:"ربات: افزودن الگوی فلان" {{پایان چپ چین}}{{سخ}}'''ویندوز:'''{{سخ}}
برای ویندوز چون CMD از یونیکد پشتیبانی نمیکند در یک فایل متن
{{چپ چین}}python add_text.py -links:نام الگو به صورت حروف درصدی
'''تذکر:''' به علتی که دستور except در این روش قابل استفاده نیست مگر اینکه نامهای دیگر الگو به حروف لاتین باشد در نتیجه باید مطمئن باشید که این الگو به زیر صفحه مقالات با نام دیگر اضافه نشدهباشد.
|-
سطر ۲۱۲ ⟵ ۲۰۸:
=== رباتهای دستساز ویکیفا ===
* برای مشاهده فهرست این رباتها به [[ویکیپدیا:درخواستهای ربات]]
* برای آشنایی با روش نوشتن ربات به نمونه کد ([[ویکیپدیا:درخواستهای ربات/کد آموزشی|کد آموزشی]]) مراجعه کنید.
== لاگین اتوماتیک (برای کاربران حرفهای) ==
''این مطلب برای کاربرهای حرفهای است اگر شروع کارتان با ربات هست این بخش را برای دفعات بعد مطالعه نمایید.''
سطر ۲۲۲ ⟵ ۲۱۸:
password_file= 'passfile'
</source>
را اضافه
<source lang="python">
("botname", "botpass")
</source>
را
== پارامترهای کاربردی ==
برای کار کردن با رباتها بعضی از پارامترها هستند که در '''همه رباتها'''(اکثر رباتهای pywikipedia و تعدادی از رباتهای [[وپ:درخواست]]) مشترک هستند و میتوان از آنها استفاده کرد. پارامترها در اصل بیان کننده موارد یا شرطهایی هستند که ما برای ربات مشخص میکنیم مثلا ربات در کدام مقالات یا فضای نام کار کند یا چه مواردی تغییر دهد
=== pagegenerators.py ===
پارامترهایی که در کد '''{{قلم رنگ|قرمز تیره|pagegenerators.py}}'''
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-page}}:}}'''برای کار کردن فقط در مقالهای خاص کاربرد دارد
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-file}}:}}'''برای کار کردن بر روی فهرستی از مقالات که در یک فایل '''txt.
# '''{{قلم رنگ|قرمز تیره| {{عبارت چپچین|-new}}:}}''' با دادن عدد در مقابل {{عبارت چپچین|-new:۱۰۰}} ربات
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-start}}:}}'''با نوشتن '''{{عبارت چپچین|-start:!}}''' ربات از ابتدای ویکی شروع به کار میکند و با '''{{عبارت چپچین|-start:شیراز}}''' ربات از مقالههایی که به ترتیب الفبا بعد از '''شیراز''' قرار دارند کار میکند. برای کارکردن در فضای نام دیگر به جز مقاله (رده، الگو، ویکیپدیا
# '''
# '''{{قلم رنگ|قرمز تیره|{{عبارت چپچین|-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۰» مواجه میشوم چه باید کرد؟'''
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}'''این خطا اهمیتی ندارد و با وجود این خطا ربات کاملا کار خود را انجام میدهد و مهم نیست.
'''{{قلم رنگ|سبز|پرسش:}} در هنگام وارد کردن پسورد عبارتی تایپ نمیشود'''
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}'''برای مشخص نشدن تعداد حروف پسورد هیچ حرفی تایپ نمیشود. پسورد را وارد کنید و
'''{{قلم رنگ|سبز|پرسش:}}چگونه میتوان محتویات CMD را کپی کرد؟'''
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}''' ابتدا روی CMD راست کلیک کرده، Mark را انتخاب کنید. سپس محتوایی را که میخواهید کپی کنید انتخاب کرده و {{key press|enter}} را بزنید.
سطر ۲۶۴ ⟵ ۲۶۱:
'''{{قلم رنگ|سبز|پرسش:}} تعدادی از کدهای موجود در بخش درخواست ربات ارور unicod دارند چه باید کرد؟'''
:'''{{قلم رنگ|قرمز تیره|پاسخ:}}''' با توجه به اینکه اکثر این کدها در محیط [[اکلیپس]] نوشته شدهاند پیشنهاد میشود این برنامه را دانلود نمایید. (نسخه کلاسیک ۱۷۴ مگا بایت) و با استفاده از این برنامه کدها را اجرا نمایید. برای اطلاعات بیشتر [[b:آموزش اکلیپس|آموزش اکلیپس]] را مطالعه نمایید.
برای شروع کار بعد از انجام موارد بالا
▲== راهنماها و قانونها ==
▲برای شروع کار بعد از انجام موارد بالا حتما موارد زیر را مطالعه نمایید تا به مشکل قانونی برنخورید.
* [[راهنما:ربات]]
* [[ویکیپدیا:سیاست رباتیک]]
سطر ۲۸۲ ⟵ ۲۷۸:
* [[اکلیپس]]
* [[b:آموزش اکلیپس|آموزش اکلیپس]]
* [[راهنما:شروع کار با تولسرور]] (برای کاربرهای حرفهای)
* [[ویکیپدیا:درخواستهای ربات/کد آموزشی]] نمونه کد نوشته شده پایتون برای کار با ویکیپدیا
* [[کاربر:میثم/ربات|ساخت ربات به زبانهای برنامهنویسی دیگر]]
* [[کاربر:Reza1615/کار با اکسل|آموزش کار با اکسل]] برای ترجمه و استفاده از ابزار کمک مترجم برای رباتهایی که نیاز به فهرست ترجمه شدهدارند.
=== آموزش ساخت مقاله رباتیک ===
* [[کاربر:Rezabot/مقدمهای بر ساخت مقاله با ربات|مقدمهای بر ساخت مقاله با ربات]]
* [[کاربر:درفش کاویانی/ساخت مقاله با ربات|ساخت مقاله با ربات]] نسخه جامع
== پانویس
{{پانویس}}
[[رده:راهنمای ویکیپدیا]]
|