Izinkan saya menanyakan hal ini kepada Anda, jika Anda adalah pemilik situs web.
Apakah Anda ingin orang mengikis situs web Anda?
Apakah Anda ingin orang-orang mengakses data Anda, mungkin Airbnb Anda dan Anda bekerja sangat keras untuk membuat daftar produk ini,
informasi yang berbeda di sini, apakah adil bahwa siapa pun dapat datang dan mengambil informasi ini dan
mungkin membuat salinan situs web Anda?
Tapi tidak benar kan?
Maksud saya, itu tergantung sebagian besar waktu Anda tidak benar-benar ingin orang menggores situs web Anda.
Meskipun HTML dan data situs web tersedia untuk kita semua, ini hanyalah cara kerja Internet kami sehingga orang dapat
melihat halaman Web yang berbeda, sebagian besar situs web tidak benar-benar ingin Anda mengorek data mereka.
Sekarang, sebenarnya ada cara situs web memberi tahu Anda apa yang bisa dan tidak bisa Anda lakukan.
Ini disebut robot dot teks.
Kami hanya mengatakan di akhir garis miring URL.
Robot dot t t klik, enter.
Lihat itu, Airbnb memiliki robot.
Robot teks tidak dikenai pajak hanya mengatakan, hei, jika Anda adalah robot, jika Anda adalah pengikis web atau laba-laba.
Inilah mengapa Anda diizinkan dan tidak diizinkan melakukannya, apakah itu berarti mereka akan mencegah kami jika kami melanggar
aturan?
Tidak, mereka tidak bisa benar-benar mencegah kita.
Tapi ini adalah area abu-abu di mana Anda ingin menjadi etis di sini dan hanya mengikis data yang diizinkan oleh situs web Anda.
Jadi, jika kita melihat teks Roboshark, Anda melihat di sini bahwa Airbnb telah membuat file pajak yang memberi tahu kami apa
yang bisa dan tidak bisa dikikis.
Misalnya, kami melihat agen pengguna di sini, yang mengatakan bot Google Airbnb memberi tahu, hei, bot
Google, Anda diizinkan untuk mengikis informasi ini, tetapi kami tidak mengizinkan Anda untuk mengorek kalender alumni akun dan Anda
melihatnya banyak hal yang dilarang.
Bagaimana dengan bot pencarian Bing?
Nah, maka Anda diizinkan untuk melakukan ini, tapi dia tidak bisa.
Mengikis salah satu data ini.
Kami memiliki papan Yandex.
Apa lagi yang kita punya, kita punya Biddu Spider.
Dan kemudian kami juga memiliki bintang agen pengguna, itu berarti siapa pun, siapa pun, Anda diizinkan untuk mengikis
ini, tetapi tidak satu pun dari informasi ini.
Baiklah, mari kita pergi ke yang lain, mari kita pergi ke Anda, Demi Dotcom.
Di sini kami melihat bahwa siapa pun yang kami tidak ingin Anda menggores atau merayapi informasi ini,
tetapi kami mengizinkan Anda untuk mengaksesnya.
API 2. 0, tentu saja, komponen pendaratan, baiklah, jadi itu terlalu buruk.
Sepertinya Udemy tidak mengizinkan kami melakukan apa pun selain API 2 ini. 0 hal, yang akan kembali.
Bagaimana dengan Hacker News, kita akan membangun sebuah proyek seputar Hacker News, jadi mari kita lihat apakah
Hacker News mengizinkan kita untuk mengikisnya.
Baiklah, jadi daftar ini sedikit lebih kecil.
Kami melihat itu untuk semua pengguna.
Kami tidak diizinkan menggunakan titik akhir ini.
Jadi itu mengatakan selama Anda tidak menggunakan ini sekali ini Anda lain, kami baik untuk pergi.
Itu jika kita ingin mengikis halaman beranda saja.
Yang di sini, tidak apa-apa jika kita mencoba, katakanlah, pergi ke komentar.
Tidak apa-apa juga, karena yang satu ini tidak ada di teks robot, sekali lagi, jika Anda ingat, jika kita pergi
ke robots dot text.
Tidak apa-apa.
Satu-satunya hal yang mereka tanyakan adalah bahwa kami memiliki penundaan perayapan 30, yaitu jika kami akan merayapi situs
Web mereka, kami harus memiliki jeda sehingga kami tidak terus-menerus menggunakan program untuk masuk ke situs Web karena, baik, ini akan
membebani server mereka dan mungkin memperlambat situs web mereka.
Jadi apa yang baru saja kita pelajari, kita mengetahui bahwa ada cara yang etis dan tidak etis untuk menggores situs web.
Ya, Anda dapat mengikis situs web apa pun yang Anda inginkan dan faktanya, ada plug in chrome.
Jika Anda memasang Google Chrome di pengikis web, ada banyak pengikis Web yang dapat Anda gunakan
yang memungkinkan Anda mengikis situs web bahkan tanpa menulis satu baris kode pun.
Ini adalah hal yang baik untuk berlatih pemrograman etis, dan itu berarti memeriksa situs web lain, syarat dan ketentuan sebelum Anda mengikisnya,
memeriksa teks titik robot mereka untuk melihat apa yang Anda bisa dan tidak bisa mengikis.
Karena biasanya data yang Anda ambil dari situs web tidak boleh digunakan untuk tujuan komersial karena
Anda menggunakan kerja keras orang lain untuk, yah, mungkin menghasilkan uang.
Dan inilah mengapa ketika kami pergi ke Hacker News dan meminta penundaan 30 detik, benar, jika Anda meminta data
dari situs web untuk secara agresif dengan program Anda, itu pada dasarnya adalah spam karena
ini dapat merusak Hacker News.
Sekarang, sebelum kita masuk ke web scraping, saya ingin mencatat satu hal lagi, dan itu adalah ide dari sebuah
API.
Jika Anda ingat ketika kami mengakses Udemy, teks yang kuat ini, mereka memberi tahu kami bahwa ada beberapa area yang diizinkan yang dapat
kami gores atau titik akhir yang dapat kami gunakan.
Anda melihat beberapa situs web benar-benar memungkinkan Anda untuk mengakses data.
Misalnya, Udemy memberi kami API instruktur, yaitu, jika Anda seorang instruktur di Udemy, Anda
benar-benar dapat menggunakan API mereka.
Anda dapat melihatnya di sini sehingga Anda bisa mendapatkan data yang berbeda.
Mungkin Anda bisa mendapatkan daftar ulasan kursus, mungkin daftar pertanyaan kursus.
Tetapi jika saya masuk ke sini dan memasukkan ini di RL saya, saya akan mendapatkan token hilang yang tidak valid, itu karena saat ini saya bukan
seorang instruktur, atau setidaknya saya belum memverifikasi bahwa saya adalah seorang instruktur.
Di Udemy, itu akan mengatakan, hei, data ini hanya untuk instruktur yang valid, jadi saya harus memberikan token untuk
membuktikan bahwa saya adalah instruktur untuk Anda, Denny.
Dan banyak situs web memberi Anda apa yang kami sebut API atau akses antarmuka pemrograman aplikasi.
Dalam formulir seperti ini, Jason to akan memberi Anda data yang Anda butuhkan dan beberapa situs web hanya mengizinkan Anda melakukan
ini jika Anda adalah pengguna yang valid.
Misalnya, salah satu aplikasi paling populer adalah API GitHub ini, tempat Anda dapat mengakses berbagai informasi dari
GitHub.
Tetapi agar kita dapat menggunakannya, kita harus, yah, membuat akun pengguna dan memvalidasi sehingga kita menjadi seperti yang
kita katakan.
Tapi kemudian ada juga situs web seperti Star Wars API yang memberi kita akses gratis.
Artinya, siapa pun bisa menggunakannya.
Kami tidak perlu memverifikasi bahwa kami adalah pengguna.
Kami tidak harus memberikan token saat membuat permintaan.
Sebagai gantinya, kami hanya dapat meminta data.
Jadi, misalnya, jika saya melakukan Sowerby API dan mengetikkan orang dan saya tekan enter.
Lihat itu, saya mendapatkan semua data ini secara gratis sehingga dengan baik, saya dapat membuat aplikasi di sekitar Starwars, yang
merupakan singkatan dari Skype.
Itu singkatan dari Star Wars API.
Dan kita bisa mengambil semua informasi ini yang kita inginkan.
Kami juga memiliki hal-hal seperti Jason Placeholder, yang sangat saya suka gunakan saat membangun proyek sederhana di
mana kami bisa mendapatkan berbagai informasi seperti foto, Anda dapat melihat di sini bahwa ini adalah API yang memberi
kami informasi.
Dengan berbagai foto yang bisa kita gunakan.
Mungkin kita memiliki postingan yang berbeda yang bisa kita gunakan.
Dan sekali lagi, inilah yang kami sebut dalam format JSON, yang bukan HTML, tetapi hanya versi
data yang dibersihkan sehingga orang dapat menggunakannya, cara termudah untuk mendapatkan data dari situs web biasanya menggunakan API.
Terkadang situs web memungkinkan kita untuk mengaksesnya dengan mudah, atau mereka mungkin memiliki API, tetapi itu hanya terbatas pada
pengguna tertentu.
Mungkin Anda harus mendaftar ke layanan mereka.
Mungkin Anda harus membayar untuk API mereka.
Nah, dalam hal ini, kami memiliki ini.
Tapi kemudian ada juga web scraping, yang mungkin merupakan situs web yang tidak memberi Anda akses ke API.
Mungkin Anda hanya ingin memiliki informasi itu.
Misalnya, Hacker News sejauh yang saya tahu tidak menawarkan API.
Jadi, sebagai gantinya, kami mungkin hanya ingin mengikis HTML, semua situs web dan melihat apa yang dapat kami gunakan.
Jadi bagaimana kita bisa mengikis situs web menggunakan Python?
Yuk cari tahu di video selanjutnya.