Mundarija:

Reddit javob bot: 10 qadam
Reddit javob bot: 10 qadam

Video: Reddit javob bot: 10 qadam

Video: Reddit javob bot: 10 qadam
Video: He Spent A Year Talking To Himself… On Reddit #shorts 2024, Noyabr
Anonim
Reddit javob bot
Reddit javob bot
Reddit javob bot
Reddit javob bot

Ushbu yo'riqnomaning maqsadi oddiy Reddit botini yaratishdir. Reddit bot - bu Reddit -dagi xabarlar/sharhlarni skanerlaydigan va yig'ilgan ma'lumotlarga javob beradigan dastur. Bu ko'p sabablarga ko'ra muhim bo'lishi mumkin, masalan, PRAW yordamida Reddit API (Application Programming Interface) bilan tanishish yoki bir vaqtning o'zida bir nechta xabarlarga osongina javob berish. Bu bilan raqobatlashish uchun sizda Reddit hisob qaydnomasi bo'lishi kerak, Pythonda kodlash bilan tanish bo'lishi va Python uchun tizim PATH o'zgaruvchisini o'rnatishi kerak, shunda siz Pythonni buyruq satri yoki terminalda kompilyatsiya qilishingiz mumkin. Agar bularning hech biri sizga ma'no bermasa, ehtimol siz bu darslikka tayyor emassiz. Agar bu harakatlar to'g'ri bajarilgan bo'lsa, bu 30 daqiqadan oshmasligi kerak. Omad tilaymiz va umid qilamanki, siz bu ma'lumotli, baxtli bottingni topasiz!

1 -qadam: Kirish va shaxsiy ilovani yaratish

Kirish va shaxsiy dastur yaratish
Kirish va shaxsiy dastur yaratish
Kirish va shaxsiy dastur yaratish
Kirish va shaxsiy dastur yaratish

Avval Reddit -ga kiring yoki hisob yarating va shaxsiy ilovani yaratish uchun https://ssl.reddit.com/prefs/apps/ saytiga o'ting.

2 -qadam: dastur yaratish

Ilova yaratish
Ilova yaratish

Ilovaga nom bering va skript doirasi to'ldirilganligiga ishonch hosil qiling, shuningdek ilovaga nom va tavsif qo'shing (har qanday bo'lishi mumkin), siz https:// localhost kabi qayta yo'naltirish URL uchun tasodifiy url -dan foydalanishingiz mumkin.

3 -qadam: Ilova ekrani

Ilova ekrani
Ilova ekrani

Ilovani yaratganingizdan so'ng, sizga "shaxsiy foydalanish ssenariysi" va "sir" beriladi, bu nima ekanligini eslab qolishingizga ishonch hosil qiling, bu juda muhim.

4 -qadam: RedditBot papkasini yarating va CMD -ni oching

RedditBot papkasini yarating va CMD -ni oching
RedditBot papkasini yarating va CMD -ni oching

Ish stolida "RedditBot" nomli yangi papka yarating va cmd yoki terminalni oching. Keyin cd/Users/Admin/Desktop/RedditBot yordamida uning katalogiga o'ting. Shuningdek, administratorni foydalanuvchi hisobingiz bilan almashtiring.

5 -qadam: PRAW -ni o'rnatish

Quvur o'rnatish PRAW
Quvur o'rnatish PRAW
Quvur o'rnatish PRAW
Quvur o'rnatish PRAW

Keyin, python -m pip install praw buyrug'ini kiriting, agar siz allaqachon o'rnatilgan bo'lsa, o'tkazib yuboring.

6 -qadam: Praw.ini faylini papkaga torting

Praw.ini faylini papkaga torting
Praw.ini faylini papkaga torting
Praw.ini faylini papkaga torting
Praw.ini faylini papkaga torting

Buni qilgandan so'ng, Python -ni o'rnatgan joyga o'ting va praw.ini -ni toping, faylni oling va RedditBot papkangizga torting. Ehtimol, Python C diskida Users va AppData ostida o'rnatiladi.

7 -qadam: Yangi Python faylini yarating

Yangi Python faylini yarating
Yangi Python faylini yarating
Yangi Python faylini yarating
Yangi Python faylini yarating

Python IDLE yoki unga tenglashtirilgan matn muharririni oching va reddit_bot.py nomli yangi fayl yarating. 4 -qadamda RedditBot papkasida saqlaganingizga ishonch hosil qiling.

8 -qadam: Kodni joylashtiring

Kodni joylashtiring
Kodni joylashtiring

Ushbu faylni yaratganingizdan so'ng, ushbu kodni kichik o'zgarishlar bilan joylashtiring. Foydalanuvchi nomi va parol maydonlarini o'zingiznikiga o'zgartiring, user_agent har qanday bo'lishi mumkin, client_id - bu 3 -qadamdagi shaxsiy foydalanish skriptingiz, 3 -bosqichdagi client_secret - bu sizning siringiz yuqoridagi rasm. Shuningdek, siz kiritgan har bir o'zgaruvchining tirnoq ichida ekanligiga ishonch hosil qiling.

#!/usr/bin/python import praw

#Quyidagi o'zgaruvchiga to'g'ri Reddit ma'lumotlarini kiriting

userAgent = 'Bot nomini kiriting'

cID = 'Shaxsiy foydalanish skriptini kiriting'

cSC = 'Mijoz sirini kiriting'

userN = 'Reddit foydalanuvchi nomingizni kiriting'

userP = 'Reddit parolingizni kiriting'

numFound = 0

reddit = praw. Reddit (user_agent = userAgent, client_id = cID, client_secret = cSC, username = userN, parol = userP)

subreddit = reddit.subreddit ("ob -havo") #kuzatmoqchi bo'lgan har qanday subreddit

bot_phrase = 'Achchiq, men qolganday bo'ldim>:(' bot "deb javob beradi

kalit so'zlar = {'Sovuq', 'chikago', 'qutbli', 'vorteks'} #subredditsda topish uchun kalit so'zlar to'plamini yaratadi.

subreddit.hot -da yuborish uchun (limit = 10): #bu subbredditdagi eng yaxshi 10 ta xabarni ko'rib chiqadi

n_title = submit.title.lower () #xabar sarlavhasini kichik harflar bilan yozadi, shuning uchun biz kalit so'zlarimizni u bilan solishtirishimiz mumkin.

i uchun kalit so'zlar: #kalit so'zlarimiz orqali o'tadi

agar men n_title -da: #agar kalit so'zlarimizdan biri subredditning eng yaxshi 10 -qismidagi sarlavhaga to'g'ri kelsa

numFound = numFound + 1

print ('Bot javob beradi:') #javob beradi va buyruq satriga chiqadi

chop etish ("Sarlavha:", submit.title)

chop etish ("Matn:", submit.selftext)

chop etish ("Bal:", submit.score)

bosib chiqarish ("--------------------------------")

chop etish ('Bot aytadi:', bot_phrase)

chop etish ()

submit.reply (bot_phrase)

agar numFound == 0 bo'lsa:

chop etish ()

chop etish ("Kechirasiz, bu kalit so'zlar bilan hech qanday xabar topilmadi, qaytadan urinib ko'ring!")

9 -qadam: Kodingizni ishga tushiring

Kodni ishga tushiring!
Kodni ishga tushiring!
Kodni ishga tushiring!
Kodni ishga tushiring!

Keyin faylni RedditBot papkasida saqlang va pythonreddit_bot.py yordamida cmd -da ishga tushiring.

10 -qadam: Va bu hammasi

Endi sizda sevimli subredditni skanerlash va kerakli ibora bilan avtomatik tarzda javob bera oladigan Reddit ishlaydigan bot bo'lishi kerak. Siz ushbu kodni boshqa Reddit bot g'oyalari uchun yaxshi boshlanish nuqtasi sifatida ishlatishingiz mumkin, bu harorati o'zgartirishdan mushuklarning rasmlari bo'lgan odamlarga javob berishgacha bo'lishi mumkin. O'qiganingiz uchun tashakkur, umid qilamanki, bu foydali bo'ldi va kelgusi loyihalarda omad tilaymiz.

Tavsiya: