Python

Panduan pemula untuk mengikis web dengan sup Python dan Beautiful

Panduan pemula untuk mengikis web dengan sup Python dan Beautiful

Web di seluruh dunia adalah sumber semua data yang ada dan menyeluruh. Perkembangan pesat yang dilihat oleh internet dalam tiga dekad kebelakangan ini belum pernah terjadi sebelumnya. Akibatnya, web dipasang dengan beratus-ratus terabyte data setiap hari.

Semua data ini mempunyai nilai untuk seseorang tertentu. Sebagai contoh, sejarah penyemakan imbas anda sangat penting untuk aplikasi media sosial, kerana mereka menggunakannya untuk memperibadikan iklan yang mereka tunjukkan kepada anda. Dan terdapat banyak persaingan untuk data ini juga; beberapa MB lebih banyak data dapat memberi kelebihan kepada perniagaan berbanding persaingan mereka.

Perlombongan data dengan Python

Untuk membantu anda yang baru menggunakan data, kami telah menyediakan panduan ini di mana kami akan menunjukkan cara mengikis data dari web menggunakan Python dan Beautiful sup Library.

Kami mengandaikan bahawa anda sudah biasa dengan Python dan HTML, kerana anda akan menggunakan kedua-duanya dengan mengikuti arahan dalam panduan ini.

Berhati-hati dengan laman web mana anda mencuba kemahiran perlombongan data baru anda, kerana banyak laman web menganggap ini mengganggu dan mengetahui bahawa mungkin ada kesan.

Memasang dan menyiapkan Perpustakaan

Sekarang, kita akan menggunakan dua perpustakaan yang akan kita gunakan: pustaka permintaan python untuk memuatkan kandungan dari laman web dan perpustakaan Sup Indah untuk proses pengikisan sebenarnya. Terdapat alternatif untuk BeautifulSoup, ingatlah anda, dan jika anda mengetahui salah satu daripada yang berikut, jangan ragu untuk menggunakannya: Scrappy, Mechanize, Selenium, Portia, kimono, dan ParseHub.

Perpustakaan permintaan boleh dimuat turun dan dipasang dengan perintah pip seperti di bawah:

# permintaan pemasangan pip3

Pustaka permintaan harus dipasang pada peranti anda. Begitu juga, muat turun BeautifulSoup juga:

# pip3 pasang beautifulsoup4

Dengan itu, perpustakaan kami bersedia untuk melakukan beberapa tindakan.

Seperti disebutkan di atas, perpustakaan permintaan tidak banyak menggunakan selain mengambil kandungan dari laman web. Perpustakaan BeautifulSoup dan perpustakaan permintaan mempunyai tempat dalam setiap skrip yang akan anda tulis, dan mereka mesti diimport sebelum masing-masing seperti berikut:

permintaan import $
$ dari bs4 import BeautifulSoup sebagai bs

Ini menambahkan kata kunci yang diminta ke ruang nama, memberi isyarat kepada Python makna kata kunci setiap kali penggunaannya diminta. Perkara yang sama berlaku pada kata kunci bs, walaupun di sini kita mendapat faedah memberikan kata kunci yang lebih mudah untuk BeautifulSoup.

laman web = permintaan.dapatkan (URL)

Kod di atas mengambil URL halaman web dan membuat rentetan langsung darinya, menyimpannya menjadi pemboleh ubah.

$ webcontent = laman web.kandungan

Perintah di atas menyalin kandungan halaman web dan memberikannya ke kandungan web yang berubah-ubah.

Dengan itu, kami selesai dengan permintaan perpustakaan. Yang tinggal hanyalah mengubah pilihan perpustakaan permintaan menjadi pilihan BeautifulSoup.

$ htmlcontent = bs (kandungan web, “html.menghuraikan “)

Ini menguraikan objek permintaan dan mengubahnya menjadi objek HTML yang dapat dibaca.

Dengan semua yang dijaga, kita dapat beralih ke bit pengikisan yang sebenarnya.

Mengikis laman web dengan Python dan BeautifulSoup

Mari teruskan dan lihat bagaimana kita dapat mengikis objek HTML data dengan BeautifulSoup.

Untuk menggambarkan contoh, semasa kami menerangkan sesuatu, kami akan bekerjasama dengan potongan html ini:

Kami dapat mengakses isi coretan ini dengan BeautifulSoup dan menggunakannya pada pemboleh ubah kandungan HTML seperti di bawah:


Kod di atas mencari sebarang tag yang dinamakan

, dan menunjukkannya kepada pengguna. Sekiranya terdapat lebih daripada satu teg, ia akan menunjukkannya satu per satu:

Teknologi

Untuk menyimpan tanda nama secara serentak

ke senarai, kami akan mengeluarkan kod akhir seperti di bawah:

Output akan kembali seperti ini:

Untuk memanggil salah satu

tag, indeks senarai dan ambil yang anda mahukan.

Sekarang mari kita lihat bagaimana memilih

tanda yang sesuai dengan ciri mereka. Untuk memisahkan a
, kita perlukan
tag dengan atribut "Tech_head". Masukkan kod berikut:


untuk div dalam sup.find_all ('div', attrs = 'class' = 'Tech_head'):

Ini mengambil

teg.

Anda akan mendapat:

Teknologi

Semua tanpa tag.

Terakhir, kami akan membahas bagaimana memilih nilai atribut dalam teg. Kod harus mempunyai teg ini:

wanita

Untuk menjalankan nilai yang berkaitan dengan atribut src, anda akan menggunakan yang berikut:

kandungan html.cari ("img") ["src"]

Dan output akan berubah sebagai:

"images_4 / a-beginners-guide-to-web-scraping-with-python-and-cantik-sup.jpg "

Oh budak lelaki, itu pasti banyak kerja!

Sekiranya anda merasakan keakraban anda dengan python atau HTML tidak mencukupi atau jika anda hanya terbeban dengan pengikisan web, jangan risau.

Sekiranya anda sebuah perniagaan yang perlu memperoleh jenis data tertentu secara berkala tetapi tidak dapat melakukan pengikisan web sendiri, ada cara mengatasi masalah ini. Tetapi ketahuilah bahawa akan menelan belanja sejumlah wang. Anda dapat mencari seseorang untuk melakukan pengikisan untuk anda, atau anda boleh mendapatkan perkhidmatan data premium dari laman web seperti Google dan Twitter untuk berkongsi data dengan anda. Ini berkongsi sebahagian data mereka dengan menggunakan API, tetapi panggilan API ini terhad setiap hari. Selain itu, laman web seperti ini dapat melindungi data mereka. Biasanya banyak laman web seperti itu sama sekali tidak berkongsi data mereka.

Pemikiran terakhir

Sebelum kita menyelesaikannya, izinkan saya memberitahu anda dengan lantang jika belum jelas; perintah find (), find_all () adalah rakan terbaik anda semasa anda keluar dengan BeautifulSoup. Walaupun ada banyak lagi yang perlu dilindungi untuk menguasai pengikisan data dengan Python, panduan ini semestinya cukup untuk anda yang baru memulakan.

Cara Memasang League Of Legends di Ubuntu 14.04
Sekiranya anda peminat League of Legends, maka ini adalah peluang bagi anda untuk menguji menjalankan League of Legends. Perhatikan bahawa LOL disokon...
Pasang permainan Strategi OpenRA terkini di Ubuntu Linux
OpenRA adalah mesin permainan Strategi Masa Nyata / Bebas yang mencipta semula permainan Westwood awal seperti Command & Conquer klasik: Makluman Mera...
Pasang Dolphin Emulator terkini untuk Gamecube & Wii di Linux
Dolphin Emulator membolehkan anda memainkan permainan Gamecube & Wii pilihan anda di Komputer Peribadi Linux (PC). Menjadi emulator permainan sumber ...

Artikel terkini mengenai sistem operasi. Banyak panduan menarik dan petua berguna. Rasa seperti anda sendiri dalam dunia teknologi moden