Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Twitter
Code

Menggunakan Twitter API untuk Mencuitkan Konten Berulang

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building With the Twitter API.
Building With the Twitter API: Analyzing Your Followers

Indonesian (Bahasa Indonesia) translation by Kurniawan Sugi Purwanto (you can also view the original English article)

Final product image
What You'll Be Creating

Selamat datang kembali di pembahasan kami tentang Twitter API, jika Anda menggunakan Twitter, mungkin Anda mendapati teman yang membagikan cuitan dari bot @infinite_scream (ditunjukkan di atas). Saya tahu bahwa kemungkinan besar itu akun bot karena melakukan cuitan dalam interval sepuluh menit. Tetapi panjang string teriakan virtualnya bervariasi karena menghindari agar tidak diblok oleh batasan Twitter API tak terdokumentasikan yang terkenal kejam. Cuitan yang terlalu sering atau mengulangi konten yang sama akan membuat bot Anda diblok tanpa ampun.

Baru-baru ini, seorang teman online meminta bantuan saya untuk menuliskan kode bagi mereka dalam rangka membuat bot yang bisa mengulang cuitan tetapi punya variasi konten yang cerdas. Dalam tutorial hari ini, saya akan menulis tentang cara melakukan hal tersebut dengan Twitter API.

Dalam tutorial hari ini, akan saya jelaskan cara membuat bot yang melakukan hal-hal dasar berikut:

  • interval cuitan acak
  • pilihan teks status acak
  • pilihan tagar acak
  • penyertaan URL acak
  • menghindari agar tidak diblok oleh Twitter

Meskipun demikian, jika Anda ingin menggunakan bot Twitter API untuk secara efektif mempromosikan produk atau layanan Anda sendiri tanpa mengganggu para pengikut Anda, dibutuhkan penulisan kode yang secara cerdas melakukan variasi topik, konten, dan frekuensi cuitan secara terorganisasi. Saya akan menulis cara melakukannya dalam episode-episode berikutnya.

Jika Anda ada pertanyaan atau ide, silakan kirimkan pada komentar di bawah ini. Jika Anda ingin melihat beberapa tutorial saya yang lain di Envato Tuts+, silakan kunjungi halaman instruktur saya, terutama seri startup. Mari kita mulai.

Memulai

Untuk bot di episode satu, saya akan mencoba untuk membuat cuitan-cuitan menyenangkan secara berkala sembari menghindari untuk tidak menyingggung Dewa yang Agung Pembatas Akses Twitter di Langit.

Konten cuitan cukup sederhana dan bisa secara acak dibuat dengan mengombinasikan teks status, tagar, dan URL yang pernah ditulis sebelumnya.

Bot ini berjalan dalam Yii, suatu platform berbasis PHP yang populer. Saya akan membuat panduan ini cukup sederhana bagi pengembang PHP garis lurus. Meskipun demikian, saya mendorong Anda untuk menggunakan berbagai framework. Anda bisa mempelajari lebih banyak di seri Yii saya.

Membuat Botnya

Meregistrasi Aplikasi Twitter

Pada dasarnya, hal pertama yang saya lakukan adalah meregistrasikan suatu aplikasi untuk mendapatkan kunci-kunci Twitter saya:

Repeating Twitter API - Setting up your Twitter App

Jika Anda belum akrab dengan membuat aplikasi dan autorisasi akses API dengan Twitter, silakan meninjau kembali beberapa tutorial kami yang lebih awal:

Menyusun Konten untuk Sekisaran Cuitan

Saya ingin membuat sistem yang dengannya teman saya (atau penulis lainnya yang diizinkan) bisa menulis beragam cuitan dan menempatkannya di database untuk penggunaan berkelanjutan. Pertama, saya membuat suatu migrasi database untuk membuat tabel bagi mereka.

Semua tabel saya untuk proyek ini memiliki prefiks norm_. Berikut adalah tabel cuitan atau norm_tweet:

Berikutnya, saya menggunakan sistem scaffolding Gii Yii untuk membuat model dan file-file CRUD bagi saya. Begini modelnya:

Repeating Twitter API - Yiis Gii Scaffolding Model Generator

Dan inilah pembuatan CRUDnya:

Repeating Twitter API - Yiis Gii Scaffolding CRUD Generator

Semua kode tersebut akan secara otomatis menyediakan tampilan kisi di bawah ini sekaligus kemampuan untuk menyunting.

Repeating Twitter API - The Authoring Tweets UX

Untuk saat ini, saya tidak menggunakan Media ID, yakni untuk gambar yang akan diunggah untuk digunakan dalam cuitan. Mungkin saya akan membahas ini dalam episode berikutnya.

Sampai sejauh ini langsung ke tujuan, kan?

Menambahkan Sekisaran Tagar

Lalu, saya memulai proses ini untuk model-model lainnya. Berikut adalah migrasi norm_hash untuk berbagai tagar:

Idenya adalah secara acak memasukkan satu (atau dua) tagar terpilih di cuitan untuk membuat seakan botnya adalah manusia, dan memvariasi cuitannya.

Berikut adalah UX Tagarnya:

Repeating Twitter API - The Authoring Hashtags UX

Saya tidak akan mengulangi langkah-langkah Yii Gii dari atas, tetapi saya ulangi dari norm_hash dan norm_url juga.

Menambahkan Ragam URL

Berikut adalah migrasi database untuk menambahkan URL:

Master bot mungkin akan menambahkan berbagai URL pada waktu-waktu berbeda. Mungkin yang terbaik adalah botnya tidak menggunakan URL-URL lama atau mengulanginya. Cap waktu Unix last_used dan created_at memungkinkan algoritma pencuitan yang dijelaskan di bawah ini memutuskan kapan menggunakan URL.

Berikut adalah halaman UX URLnya:

Repeating Twitter API - The Adding URLs UX

Sekarang, mari kita lihat algoritma menyenangkan untuk mengombinasikan semua tabel ini ke dalam cuitan-cuitan menyenangkan yang tidak mengganggu Tuan Besar Pembatasan Twitter.

Pengacakan Konten Cuitan Bot

Memiliki bot yang mencuitkan beragam konten adalah hal yang menyenangkan, tetapi keragaman juga bermanfaat dalam mencegahnya diblok oleh Twitter.

Anda bisa melihat Twitter Rate Limits di sini, tetapi sejumlah aturan pengulangan konten sepertinya tidak didokumentasikan.

Repeating Twitter API - Rate Limits Chart

Saya mengambil arahan dari teman-teman saya tentang cara yang mereka inginkan dari algoritmanya untuk membuat cuitan-cuitan dari database yang berisi berbagai cuitan, tagar, dan URL.

Berikut adalah algoritma pembangun yang kita putuskan untuk saat ini; algoritma ini mudah dimodifikasi. Akan saya jelaskan dalam beberapa bagian.

Menurut pendapat saya algoritma di bawah ini rendah penggunaan tagar dan URL, dan jika Anda ingin keragaman yang lebih kokoh akan kontennya, ubahlah sesuai keinginan Anda.

Pertama, kita menggunakan yii\db\Expression; untuk dengan benar memilih teks cuitan tunggal secara acak dari tabel:

Lalu kita putuskan apakah akan menggunakan tagar (saat ini 1 dalam 5 atau 20% waktu) dan berapa banyak penggunaannya (saat ini ditetapkan hanya satu saja):

Kemudian, kami memutuskan bahwa jika ada URL yang tersedia untuk digunakan, maka URL tersebut harus berusia kurang dari satu pekan dan hanya bisa digunakan sekali tiap 72 jam (3 hari). Jadi tiap URL baru mungkin hanya bisa digunakan sekali, dua kali, atau tiga kali sebelum kadaluarsa.

Akhirnya, kita membuat cuitan berdasarkan data yang dipilih (URL yang tersedia hanya ditambahkan satu dalam empat kesempatan atau 25% peluang):

Memilih Kapan Membuat Cuitan

Yii mengizinkan Anda memanggil konsol controller dari cron. Maka saya menambahkan suatu panggilan ke /console/DaemonController.php saya di crontab.

$ sudo crontab -I

Berikut adalah cara penjadwalan tugas-tugas saya: 

Tiap jam ada permintaan ke daemon/hourly di /console/DaemonController.php. Aplikasi bot kita hanya memutuskan apakah akan mencuit atau tidak setiap empat jam.

Pertama, Anda akan melihat bahwa saya punya tabel Normlog yang tidak saya jelaskan diatas, tetapi tabel itu melacak semua keluaran dan kapan cuitan dibuat. Jadi teman saya tidak ingin melakukan cuitan lebih dari sekali dalam sehari.

Kita tidak ingin para pengikut bot terganggu dengan frekuensi cuitan yang tinggi.

Maka, kita memilih satu angka, pada dasarnya enam kali sehari (tiap empat jam), dan melakukan cuitan apabila angkanya 6 (atau satu dalam dua belas kesempatan).

Mengantarkan Cuitan ke Twitter API

Berikut adalah metode NormTweet::deliver() yang dipanggil oleh Daemon untuk mengirimkan cuitannya.

Kunci aplikasi Twitter akun disimpan di /bot/frontend/config/params-local.php, dikonfigurasi dari file bot.ini yang saya gunakan:

Bot tidaklah sederhana, tetapi menyenangkan!

Menguji Hasilnya

Berikut adalah hasil bot kita:

Repeating Twitter API - Tom McFarlin Head Editorial Goddess

Hanya bercanda! Itu adalah salah satu dewa editorial, Tom Farlin. Skrip kecerdasan buatan belum mampu menggantikan "wawasannya", tetapi Envato Tuts+ telah mempekerjakan saya untuk melakukan hal ini.

Berikut adalah bot yang sesungguhnya, dimaksudkan untuk mengingatkan teman saya dan para pengikutnya bahwa perpolitikan baru di Amerika tidaklah tepat normal. Saya bayangkan apapun pandangan Anda, Anda akan setuju dengannya.

Repeating Twitter API - Bot Tweet Stream from Tutorial

Saya harap Anda menikmati episode ini.

Apa Berikutnya?

Berikutnya, saya akan membuat platform yang lebih digerakkan pasar untuk membantu Anda menggunakan Twitter API dalam mempromosikan usaha rintisan, layanan, dan bisnis Anda tanpa dilabeli sebagai bot dan diblok.

Jika Anda ada pertanyaan atau saran tentang tutorial ini, silakan kirimkan di komentar. Jika Anda ingin terus mengikuti berbagai tutorial Envato Tuts+ saya di kemudian hari dan juga seri-seri lainnya, silakan kunjungi halaman instruktur saya atau ikuti @reifman.

Tautan-Tautan Terkait

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.