ingin membantu? Berikut adalah pilihan Anda:","Crunchbase","Tentang Kami","Terima kasih kepada semua orang atas dukungan yang luar biasa!","Tautan Cepat","Program afiliasi","ProxyScrape uji coba premium","Pemeriksa Proksi Online","Jenis proxy","Negara-negara proksi","Kasus penggunaan proxy","Penting","Kebijakan cookie","Penafian","Kebijakan privasi","Syarat dan ketentuan","Media Sosial","Facebook","LinkedIn","Twitter","Quora","Telegram","Perselisihan"," © Hak Cipta 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgia | PPN BE 0749 716 760"]}
Web scraping can be defined as the method of collecting and restructuring data from websites. It can also be defined as the programmatic approach of obtaining website data in an automated manner. For instance, you want to extract the email IDs of all people who commented on a Facebook post. You can do this by
Web scraping dapat didefinisikan sebagai metode pengumpulan dan restrukturisasi data dari situs web. Hal ini juga dapat didefinisikan sebagai pendekatan terprogram untuk mendapatkan data situs web secara otomatis. Misalnya, Anda ingin mengekstrak ID email semua orang yang berkomentar di postingan Facebook. Anda dapat melakukan ini dengan dua metode. Pertama, Anda bisa mengarahkan kursor ke string alamat email seseorang. Anda kemudian dapat menyalin dan menempelkannya ke dalam sebuah file. Metode ini dikenal sebagai pengikisan manual. Tapi bagaimana jika Anda ingin mengumpulkan 2000 ID email? Dengan bantuan alat scraping web, Anda dapat mengekstrak semua ID email dalam 30 detik, bukan 3 jam jika Anda menggunakan scraping manual.
Anda dapat menggunakan alat pengikis web untuk mengekstrak informasi dari situs web. Anda hanya perlu mengetahui cara mengeklik, dan tidak diperlukan pengetahuan pemrograman. Alat-alat ini hemat sumber daya dan menghemat waktu dan biaya. Anda dapat mengikis jutaan halaman berdasarkan kebutuhan Anda tanpa mengkhawatirkan bandwidth jaringan. Beberapa situs web menerapkan anti-bot yang mencegah scraper mengumpulkan data. Tetapi alat scraping web yang baik memiliki fitur bawaan untuk melewati alat ini dan memberikan pengalaman scraping yang mulus.
Python memiliki alat yang sangat baik untuk mengikis data dari web. Sebagai contoh, Anda bisa mengimpor pustaka request untuk mengambil konten dari halaman web dan bs4(BeautifulSoup) untuk mengekstrak informasi yang relevan. Anda dapat mengikuti langkah-langkah di bawah ini untuk melakukan web scrape di Python. Kita akan mengekstrak informasi dari situs web ini.
Anda harus mengimpor pustaka permintaan untuk mengambil HTML situs web.
permintaan impor
Anda harus membuat permintaan GET ke situs web. Anda dapat melakukan ini dengan menempelkan URL ke dalam fungsi requests.get().
r = requests.get('http://www.cleveland.com/metro/index.ssf/2017/12/case_western_reserve_university_president_barbara_snyders_base_salary_and_bonus_pay_tops_among_private_colleges_in_ohio.html')
Ekstrak konten situs web menggunakan r.content. Ini memberikan konten situs web dalam bentuk byte.
c = r.content
Anda harus mengimpor pustaka BeautifulSoup karena ini memudahkan untuk mengorek informasi dari halaman web.
from bs4 import BeautifulSoup
Anda harus membuat objek BeautifulSoup dari konten dan menguraikannya menggunakan beberapa metode.
sup = BeautifulSoup(c)
print(sup.get_text())
Anda akan mendapatkan output (ini hanya sebagian) seperti ini.
Kita harus menemukan penyeleksi CSS yang tepat karena kita perlu mengekstrak data yang kita inginkan. Kita dapat menemukan konten utama pada halaman web dengan menggunakan metode .find() pada objek sup.
main_content = soup.find('div', attrs = {'class': 'entry-content'})
Kita dapat mengambil informasi sebagai teks dari tabel dengan menggunakan atribut.text pada sup.
konten = konten_utama.find('ul').text
print(konten)
Kami mengambil teks tabel sebagai sebuah string. Namun informasi tersebut akan sangat berguna jika kita mengekstrak bagian tertentu dari string teks. Untuk mencapai tugas ini, kita perlu beralih ke Regular Expressions.
Ekspresi reguler(RegEx) adalah urutan pola yang mendefinisikan pola pencarian. Ide dasarnya adalah itu:
Misalkan kita ingin mengekstrak informasi berikut ini dari tabel teks.
Anda dapat mengekstrak ketiga informasi tersebut dengan mengikuti langkah-langkah yang disebutkan di bawah ini.
Impor re dan untuk mengekstrak gaji, Anda harus membuat pola gaji. Gunakan metode re.compile() untuk mengkompilasi pola ekspresi reguler yang disediakan sebagai string ke dalam objek pola RegEx. Selanjutnya, Anda dapat menggunakan pattern.findall() untuk menemukan semua kecocokan dan mengembalikannya sebagai daftar string. Setiap string akan mewakili satu kecocokan.
import re
pola_gaji = re.compile(r'\$.+')
gaji = pola_gaji.findall(content)
Ulangi prosedur yang sama untuk mengekstrak nama-nama perguruan tinggi. Buatlah pola dan ekstrak nama-nama tersebut.
school_pattern = re.compile(r'(?:,|,\s)([A-Z]{1}.*?)(?:\s\(|:|,)')
schools = school_pattern.findall(content)
print(schools)
print(salaries)
Ulangi prosedur yang sama untuk mengekstrak nama-nama presiden. Buatlah pola dan ekstrak nama-nama yang diperlukan.
name_pattern = re.compile(r'^([A-Z]{1}.+?)(?:,)', flags = re.M)
names = name_pattern.findall(content)
print(names)
Gaji terlihat berantakan dan tidak dapat dimengerti. Jadi, kita menggunakan pemahaman daftar Python untuk mengubah gaji string menjadi angka. Kita akan menggunakan pemotongan string, pemisahan dan penggabungan, dan pemahaman daftar untuk mencapai hasil yang diinginkan.
gaji = ['$876,001', '$543,903', '$2453,896']
[int(''.join(s[1:].split(','))) for s in salaries]
Keluarannya adalah sebagai berikut:
Visualisasi data membantu Anda memahami data secara visual sehingga tren, pola, dan korelasinya dapat terlihat. Anda dapat menerjemahkan data dalam jumlah besar ke dalam grafik, bagan, dan visual lainnya untuk mengidentifikasi pencilan dan mendapatkan wawasan yang berharga.
Kita dapat menggunakan matplotlib untuk memvisualisasikan data, seperti yang ditunjukkan di bawah ini.
Impor pustaka yang diperlukan seperti yang ditunjukkan di bawah ini.
import pandas sebagai pd
import matplotlib.pyplot as plt
Buatlah sebuah dataframe pandas dari sekolah, nama dan gaji. Sebagai contoh, Anda dapat mengubah sekolah-sekolah menjadi sebuah dataframe sebagai:
df_sekolah = pd.DataFrame(schools)
print(df_sekolah)
Keluarannya adalah:
Demikian juga, Anda dapat melakukan hal yang sama untuk gaji dan nama.
Untuk visualisasi data, kita dapat memplot grafik batang seperti yang ditunjukkan di bawah ini.
df.plot(type='barh', x = ' Presiden', y = ' gaji')
Keluarannya adalah sebagai berikut:
Pengikisan web membantu bisnis mengekstrak informasi yang berguna tentang wawasan pasar dan industri untuk menawarkan layanan yang didukung data dan membuat keputusan berdasarkan data. Proksi sangat penting untuk mengikis data dari berbagai situs web karena alasan berikut ini secara efektif.
Tahukah Anda berapa banyak proxy yang diperlukan untuk mendapatkan manfaat di atas? Anda dapat menghitung jumlah proxy yang diperlukan dengan menggunakan rumus ini:
Jumlah proxy = Jumlah permintaan akses / Tingkat Perayapan
Jumlah permintaan akses tergantung pada parameter berikut.
Di sisi lain, tingkat perayapan dibatasi oleh jumlah permintaan yang dibuat pengguna dalam jangka waktu tertentu. Beberapa situs web mengizinkan jumlah permintaan yang terbatas per pengguna untuk membedakan permintaan pengguna otomatis dan manusia.
Anda dapat menggunakan proksi di Python dengan mengikuti langkah-langkah di bawah ini.
permintaan impor
proxy = 'http://114.121.248.251:8080'
url = 'https://ipecho.net/plain'
page = requests.get(url,
proxies={"http": proxy, "https": proxy})
cetak(halaman.text)
Keluarannya adalah sebagai berikut:
Kita telah membahas bahwa kita dapat menggunakan web scraping untuk mengekstrak data dari situs web daripada menggunakan scraping manual. Web scraping adalah proses yang hemat biaya dan hemat waktu. Bisnis menggunakannya untuk mengumpulkan dan merestrukturisasi informasi web untuk membuat keputusan berdasarkan data dan mendapatkan wawasan yang berharga. Penggunaan proxy sangat penting untuk web scraping yang aman karena menyembunyikan alamat IP asli pengguna dari situs web target. Anda bisa menggunakan proxy pusat data atau proxy residensial untuk web scraping. Tetapi lebih suka menggunakan proxy perumahan karena cepat dan tidak mudah terdeteksi. Selanjutnya, kita dapat menggunakan ekspresi reguler di Python untuk mencocokkan atau menemukan kumpulan string. Ini berarti kita dapat mengekstrak pola string apa pun dari teks dengan bantuan ekspresi reguler. Kami juga melihat bahwa visualisasi data mengubah data dalam jumlah besar menjadi bagan, grafik, dan visual lainnya yang membantu kami mendeteksi anomali dan mengidentifikasi tren yang berguna dalam data.