Mengikis Data Twitter Dengan Python [Dengan 2 API]

Diterbitkan: 2020-11-30

Daftar isi

pengantar

Platform media sosial seperti Twitter adalah salah satu repositori hebat untuk mengumpulkan kumpulan data. Bekerja pada proyek ilmu data baru membutuhkan cukup banyak data, mengumpulkan dataset bukanlah tugas yang mudah.

Dan Twitter menyediakan genre data yang beragam karena merupakan kumpulan tweet dari orang-orang dengan pola pikir dan sentimen berbeda. Jenis set data tanpa bias ini merupakan prasyarat yang sangat dibutuhkan untuk melatih model pembelajaran mesin baru.

Mari kita mulai!

Kami akan membahas 2 API untuk pengikisan data Twitter.

  1. tweepy
  2. kembar

tweepy

Sebelum kita mulai menelusuri kode python untuk menggores data menggunakan Tweepy API, ada satu hal yang perlu Anda ketahui bahwa kami memerlukan kredensial akun pengembang Twitter dan itu adalah hal yang mudah jika Anda sudah memilikinya.

Untuk orang-orang yang tidak memiliki akun pengembang, Anda dapat mengajukan permohonan di sini . Dan sebelum mengajukan akun pengembang, Anda harus memiliki akun Twitter. Mengajukan permohonan akun pengembang adalah proses yang mudah dan aplikasi mengajukan beberapa pertanyaan dasar seperti alasan permohonan, dll. Dan persetujuan akun pengembang umumnya memakan waktu 2-3 hari.

Setelah Anda menerima persetujuan untuk akun pengembang, catat kunci API konsumen Anda, token akses, dan rahasia token akses dari bagian “kunci dan token”.

Juga, ada hal yang perlu diperhatikan bahwa ada beberapa batasan untuk tweepy seperti Anda hanya dapat mengikis tweet yang tidak lebih dari seminggu. Dan batas pengikisan, hingga 18.000 tweet dalam jangka waktu 15 menit.

Bagus, sekarang kita memiliki kunci dan token dari akun pengembang, mari kita otorisasi mereka.

consumer_key = kunci konsumen Anda

consumer_secret = rahasia konsumen Anda

access_token = " token akses Anda "

access_token_secret = " rahasia token Anda "

otorisasi = tweepy.OAuthHandler(kunci_konsumen, rahasia_konsumen)

otorisasi.set_access_token(akses_token, access_token_secret)

api = tweepy.API(otorisasi,wait_on_rate_limit = Benar )

Sekarang kami telah diotorisasi dengan kredensial kami, Mari mengikis tweet dari akun tertentu. Untuk saat ini, mari kita coret tweet Pak Sundar Pichai.

nama pengguna = ' sundarpichai '

hitung = 100

coba :

#baris1

tweets_obj = tweepy.Cursor(api.user_timeline,id = nama pengguna).items(hitungan)

#baris2

tweets_list = [[tweet.created_at, tweet.id, tweet.text] untuk tweet di tweets_obj]

#baris3

tweets_df = pd.DataFrame(daftar_tweet)

kecuali BaseException sebagai e:

print ( ' ada yang tidak beres, ' , str (e))

Dalam cuplikan di atas, line1 membuat objek yang dapat diubah dengan semua tweet dan ditetapkan ke variabel "tweets_obj". Setelah kita selesai membuat objek yang dapat diubah, mari kita ulangi dan ekstrak semua data.

Kami mengekstrak hanya beberapa atribut seperti "created_at", "id", "text" dan menambahkannya ke setiap entri dalam array 2D. Dimana setiap entri memiliki semua data dari setiap tweet yang kita coret. Sekarang kita memiliki array 2D dengan atribut sebagai setiap entri, kita dapat mengubahnya menjadi bingkai data dengan menggunakan sintaks “pd.DataFrame()”.

Alasan untuk mengonversi array ke bingkai data adalah lebih fleksibel, ketersediaan metode yang telah ditentukan sebelumnya, dan akses yang mudah membuatnya menonjol dari semua struktur data untuk proyek ilmu data.

Demikian pula, mari kita menelusuri kode untuk menggores data yang memiliki kueri teks tertentu.

text_query = ' vokal untuk lokal '

hitung = 100

coba :

#baris1

tweets_obj = tweepy.Cursor(api.search,q = text_query).items(count)

#baris2

tweets_list = [[tweet.created_at, tweet.id, tweet.text] untuk tweet di tweets_obj]

#baris3

df = pd.DataFrame(daftar_tweet)

kecuali BaseException sebagai e:

print ( ' ada yang tidak beres, ' , str (e))

Pada cuplikan di atas, semuanya sama dengan cuplikan sebelumnya. Akhirnya, kami membuat bingkai data dengan semua tweet yang berisi kueri teks "vokal untuk lokal".

Jika Anda mencari pengikisan data yang lebih spesifik atau khusus seperti memasukkan lebih banyak atribut seperti jumlah retweet, jumlah favorit, dll. Kami dapat menyesuaikan sintaks kami dan mengekstrak atribut lain yang disediakan oleh tweepy. Untuk bacaan lebih lanjut tentang atribut lain yang ditawarkan oleh tweepy lihat dokumentasi .

kembar

Twint API tidak memerlukan kredensial akun pengembang apa pun, Anda dapat mengikis tweet dengan mudah tanpa kunci otorisasi apa pun. Selain itu, twint tidak memiliki batasan seperti jumlah tweet, kerangka waktu, batas pengikisan, dll. Twint memberi Anda pengikisan data yang mulus dan API yang mudah digunakan.

Kami dapat mencetak daftar pengikut seseorang menggunakan nama pengguna dari API twint.

t_obj = twint.Config()

t_obj.Nama Pengguna = sundarpichai

twint.run.Pengikut(t_obj)

Dalam cuplikan di atas twint.Config() mengonfigurasi twint API dan memulai semuanya. Dan setelah menetapkan objek, kita dapat menggunakan referensi itu untuk pekerjaan kita, “t_obj.Username” memberikan nama pengguna yang telah kita masukkan. Dan twint.run.Followers melakukan pencarian semua pengikut dari nama pengguna tersebut.

Kami juga dapat menyimpan data yang tergores ke dalam bingkai data yang mirip dengan tweepy API.

t_obj.Batas = 100

t_obj.Nama Pengguna = sundarpichai

t_obj.Panda = Benar

twint.run.Pengikut(t_obj)

result_df = twint.storage.panda.User_df

Semua yang ada di snippet hampir sama dengan snippet sebelumnya, hanya dengan tambahan baris sintaks “twint.storage.panda.User_df” yang mengubah data yang tergores menjadi bingkai data. Kerangka data hasil terdiri dari daftar pengikut nama pengguna yang diberikan.

Sekarang kita telah melihat menggores data pengikut dari nama pengguna tertentu, mari kita menelusuri kode untuk menggores tweet dari akun tertentu.

t_obj.Search = from:@sundarpichai

t_obj.Store_object = Benar

t_obj.Batas = 20

twint.run.Search(t_obj)

tweet = t.search_tweet_list

cetak (tweet)

Dalam cuplikan di atas, kita membuat objek yang dikonfigurasi untuk mencari tweet orang tertentu, kita juga dapat mengatur batas tweet saat menggores menggunakan sintaks “t_obj.Limit”. Dan setelah menjalankan pencarian, itu membuat daftar semua tweet dan kita dapat menetapkannya ke variabel lokal sesuai kebutuhan kita.

Setelah melihat cuplikan scraping info dari akun tertentu, Anda mungkin memiliki pertanyaan singkat yaitu bagaimana cara scraping tweet yang mengandung kata kunci tertentu?. Bukan masalah twint punya solusi untuk ini.

t_obj.Search = ilmu data

t_obj.Store_object = Benar

t_obj.Batas = 100

twint.run.Search(t_obj)

tweet = t.search_tweet_list

cetak (tweet)

Cuplikan di atas sama dengan cuplikan untuk menggores tweet dari akun tertentu, dengan satu perbedaan pada baris1. Kami juga dapat mengonversinya menjadi bingkai data sesuai kenyamanan kami.

Untuk bacaan lebih lanjut tentang twint API, lihat repositori dan dokumentasinya .

Kesimpulan

Kami telah memahami pentingnya menggores data. Berjalan melalui dua API dan fitur mereka untuk menggores data Twitter. Lihat beberapa metode untuk mengubah data yang tergores ke dalam format file yang kami butuhkan. Sekarang setelah Anda mengetahui API ini, mulailah menggores data untuk proyek ilmu data Anda!

Kami di upGrad dengan senang hati membantu Anda dan juga ingin memberi tahu Anda tentang peluang yang dapat Anda peroleh dengan mempelajari python. Python telah digunakan secara luas untuk Pembelajaran Mesin dan Ilmu Data, dua teknologi paling populer dan sedang berkembang. Mempelajari Python dan juga memiliki pengetahuan tentang keterampilan ini akan membuat Anda unggul di bidang Anda dan mendapatkan peluang karir yang lebih baik.

Kami memiliki banyak kursus yang dikembangkan bersama dengan pakar industri dan lembaga akademis terkemuka untuk memberi Anda semua keterampilan yang diperlukan untuk unggul dalam bidang ini. Beberapa kursus yang dapat membantu Anda memanfaatkan pengetahuan Anda tentang python dan meningkatkan prospek karir Anda:

Ilmu Data:

Lihat Program Ilmu Data Online upGrad yang dikembangkan dengan IIIT-B, ini adalah kursus ilmu data lengkap untuk masuk ke bidang ini dan membuat tanda di industri dengan pengetahuan Anda.

Master of Science in Data Science : Dikembangkan dalam koordinasi dengan Liverpool John Moores University dan IIIT-B, mendapat gelar master di Data Science dari salah satu universitas top dunia.

Pembelajaran mesin:

Sertifikasi Tingkat Lanjut dalam Pembelajaran Mesin dan AI : Madras IIT, salah satu lembaga pendidikan terbaik di India, telah bermitra dengan upGrad untuk membuat kursus lanjutan tentang Pembelajaran Mesin bagi individu untuk memiliki pengetahuan lengkap tentang Pembelajaran Mesin dengan kursus ini.

Master of Science dalam Machine Learning dan AI : Liverpool John Moores University dan IIIT-B telah bekerja sama dengan upGrad untuk menyediakan gelar master sains lengkap bagi individu untuk mempelajari teknologi secara rinci dan mendapatkan gelar formal dalam teknologi ini untuk membuka jalan yang sukses jalan di bidang ini.

Diploma PG dalam Pembelajaran Mesin dan AI : IIIT-B dan upGrad berkumpul untuk membantu individu mendapatkan kesempatan untuk melakukan kursus selama 12 bulan tentang Pembelajaran Mesin dan AI dan memiliki kesempatan untuk memasuki teknologi ini dengan kursus ini.

Apa itu pengikisan data?

Pengikisan data mengacu pada proses di mana perangkat lunak komputer menggores data dari output yang dibuat oleh program lain. Pengikisan web adalah jenis pengikisan data yang digunakan untuk mengumpulkan data atau informasi dari situs web yang berbeda. Dalam pengikisan web, aplikasi digunakan untuk mengumpulkan informasi berharga dari situs web. Program web scraping dapat dengan cepat dan mudah mengakses WWW (World Wide Web) menggunakan HTML (Hypertext Transfer Protocol) atau browser web.

Mengapa pengikisan data diperlukan di Twitter?

Pengikisan data di media sosial membantu dalam melacak, mengevaluasi, dan meneliti data yang tersedia di platform. Twitter adalah platform paling populer, dan mengorek data Twitter membantu pengguna menganalisis perilaku pengguna, strategi persaingan, analisis sentimen, dan tetap mengetahui apa yang terjadi di saluran sosial paling populer di dunia dari tweet orang, rekan kerja, dan bisnis yang penting bagi Anda. Layanan pengikisan data Twitter menangani kebutuhan end-to-end Anda dalam waktu sesingkat mungkin dan memberi Anda data yang diperlukan. Twitter, misalnya, hanya mengizinkan perayap mengumpulkan data melalui API-nya untuk membatasi jumlah informasi tentang pengguna dan aktivitas mereka.

Apa itu API?

Antarmuka Pemrograman Aplikasi adalah kode kecil yang memungkinkan perangkat digital, program perangkat lunak, dan server data untuk berkomunikasi satu sama lain, dan mereka adalah tulang punggung vital dari banyak layanan yang saat ini kami andalkan. API menghubungkan komputer atau perangkat lunak satu sama lain, berbeda dengan antarmuka pengguna, yang menghubungkan komputer ke manusia. Itu tidak dirancang untuk penggunaan langsung oleh siapa pun (pengguna akhir) selain programmer komputer yang memasukkannya ke dalam perangkat lunak. API sering kali terdiri dari banyak komponen yang berfungsi sebagai alat atau layanan bagi programmer.