Jika Anda baru mengenal pengikisan web, saya akan merekomendasikan untuk memulai terlebih dahulu dengan tutorial pemula untuk pengikisan web dan kemudian beralih ke yang ini setelah Anda merasa nyaman dengan dasar-dasarnya Show
bagaimana kita mengekstrak semua tautan?Kami akan menggunakan pustaka permintaan untuk mendapatkan halaman HTML mentah dari situs web dan kemudian kami akan menggunakan BeautifulSoup untuk mengekstrak semua tautan dari halaman HTML Modul BeautifulSoup dirancang untuk web scraping. Modul BeautifulSoup dapat menangani HTML dan XML. Ini menyediakan metode sederhana untuk mencari, menavigasi, dan memodifikasi pohon parse Kursus terkait Dapatkan tautan dari situs webContoh di bawah ini mencetak semua tautan di halaman web.
Ini mengunduh kode html mentah dengan baris _ Objek BeautifulSoup dibuat dan kami menggunakan objek ini untuk menemukan semua tautan
Ekstrak tautan dari situs web ke dalam arrayUntuk menyimpan tautan dalam larik yang dapat Anda gunakan.
Berfungsi untuk mengekstrak link dari halaman webJika Anda berulang kali mengekstrak tautan, Anda dapat menggunakan fungsi di bawah ini. _ Kursus terkait Kembali Berikutnya Diposting di jaringan 12-08-2015
Jangan isi ini jika Anda manusia. Nama Alamat emailPesan Mengirim pesan Memproses halaman web dan menemukan sesuatu bisa menjadi tugas yang membosankan terutama jika Anda mencoba mengotomatiskan tugas ini. Hari ini kami akan membahas cara untuk Anda tentang cara mencapai ini Kami akan memecah ini di bagian berikut
Saya telah menggunakan ini dengan sukses di berbagai proyek dan bekerja dengan sangat baik dan telah menghemat banyak waktu saya untuk menemukan url di halaman web Kami akan membahas poin demi poin untuk membuat Anda aktif dan berjalan dalam waktu kurang dari 5 menit, Anda tidak perlu memiliki pengetahuan pemrograman untuk menggunakan alat yang akan kami kembangkan di sini Ini adalah panduan lengkap dan harus mencakup semua pertanyaan Anda tentang cara menggunakan Python untuk mengekstrak tautan dari sebuah halaman Semua kode dan contoh tentang cara melakukannya dapat ditemukan di tautan Github di sini Mengapa Berguna Menggunakan Python Untuk Menemukan Semua URL Di HalamanSebelum kita mulai membahas pengkodean apa pun, saya ingin meluangkan waktu dan membuat daftar beberapa alasan mengapa saya menggunakan Python untuk secara otomatis menemukan semua tautan di halaman web. Meskipun ada banyak alasan untuk melakukan ini secara terprogram sebagai tugas, bahkan ada alasan yang lebih kuat mengapa Anda ingin melakukan ini dengan Python secara khusus Mari kita lihat daftarnya dan analisis poin demi poin
Cara Mengatur BeautifulSoup Dan PermintaanSekarang kami telah membuat daftar beberapa alasan mengapa penting untuk memiliki otomatisasi di gudang senjata Anda, kami akan membahas cara menyiapkan dan menjalankan lingkungan Anda Untuk melakukan ini kami menganggap Anda memiliki dua hal yang terinstal di sistem Anda
Ada banyak sumber dokumentasi online tentang cara memasangnya di sistem Anda, jadi untuk panduan ini saya akan melewatkan bagian tentang cara memasangnya Mari kita bahas bagaimana Anda dapat mengatur sekarang kedua paket yang kami jelaskan sebelumnya
Untuk melakukan ini kita perlu mengikuti langkah-langkah ini
Proses tersebut dapat dilihat di bawah ini $ virtualenv venv created virtual environment CPython3.9.12.final.0-64 in 180ms creator CPython3Posix(dest=/Users/alex/code/unbiased/python-extract-urls-from-page/venv, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/alex/Library/Application Support/virtualenv) added seed packages: pip==22.0.4, setuptools==62.1.0, wheel==0.37.1 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator $ source venv/bin/activate $ pip install -r requirements.txt Collecting requests Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB) Collecting beautifulsoup4 Downloading beautifulsoup4-4.11.1-py3-none-any.whl (128 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.2/128.2 KB 2.0 MB/s eta 0:00:00 Collecting idna<4,>=2.5 Using cached idna-3.3-py3-none-any.whl (61 kB) Collecting urllib3<1.27,>=1.21.1 Using cached urllib3-1.26.9-py2.py3-none-any.whl (138 kB) Collecting certifi>=2017.4.17 Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB) Collecting charset-normalizer~=2.0.0 Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB) Collecting soupsieve>1.2 Downloading soupsieve-2.3.2.post1-py3-none-any.whl (37 kB) Installing collected packages: certifi, urllib3, soupsieve, idna, charset-normalizer, requests, beautifulsoup4 Successfully installed beautifulsoup4-4.11.1 certifi-2021.10.8 charset-normalizer-2.0.12 idna-3.3 requests-2.27.1 soupsieve-2.3.2.post1 urllib3-1.26.9 Seperti yang Anda lihat, ini telah berhasil menginstal dependensi Python di sistem kami. Kita sekarang dapat melanjutkan untuk memeriksa bagaimana kita dapat mengimplementasikan kode yang menggunakan pustaka ini dan menyatukan semuanya Cara Menemukan Semua Tautan Di HalamanUntuk mengimplementasikan kode ini seperti yang disebutkan sebelumnya, kami akan menggunakan dua paket Python yang akan membuat kode lebih pendek dan lebih mudah dipahami. Mari kita mulai dengan menganalisis cara kerja kode ini dalam contoh langkah demi langkah
import requests from bs4 import BeautifulSoup page = 'https://www.google.com' print (f'Downloading page: {page}') res = requests.get(page) print (f'Got back response: {res.status_code}') print (f'Page length: {len(res.text)}') html = res.text bs = BeautifulSoup(html, features='html.parser') hrefs = bs.find_all('a') for href in hrefs: print (f'Found URL: {href.get("href")}')_ Kode di atas menunjukkan langkah-langkah yang kami uraikan. Langkah selanjutnya adalah mengambil kode kita dan mengujinya di beberapa situs web, yang akan kita lakukan di bagian selanjutnya Menguji Kode Kami Dengan Berbagai HalamanKami dapat memulai proses pengujian Anda dengan menjalankan ini melawan google. com. Halaman utama raksasa mesin pencari populer memiliki beberapa URL dan kami akan melihat apakah kode kami dapat mengekstraknya dengan sukses dan mencetaknya Untuk melakukan ini, kami memanggil kode kami dan mengamati perilaku eksekusi $ python ./python-find-urls-page.py Downloading page: https://www.google.com Got back response: 200 Page length: 14022 Found URL: https://www.google.com/imghp?hl=en&tab=wi Found URL: https://maps.google.com/maps?hl=en&tab=wl Found URL: https://play.google.com/?hl=en&tab=w8 Found URL: https://www.youtube.com/?gl=US&tab=w1 Found URL: https://news.google.com/?tab=wn Found URL: https://mail.google.com/mail/?tab=wm Found URL: https://drive.google.com/?tab=wo Found URL: https://www.google.com/intl/en/about/products?tab=wh Found URL: http://www.google.com/history/optout?hl=en Found URL: /preferences?hl=en Found URL: https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=https://www.google.com/&ec=GAZAAQ Found URL: /advanced_search?hl=en&authuser=0 Found URL: /intl/en/ads/ Found URL: /services/ Found URL: /intl/en/about.html Found URL: /intl/en/policies/privacy/ Found URL: /intl/en/policies/terms/ Seperti yang dapat dilihat di atas kita mendapatkan hasil seperti yang diharapkan. Jika Anda melihat di halaman Google di bagian paling bawah ada beberapa tautan seperti
Semua hal di atas dapat dilihat di hasil cetak sebagai nama url deskriptif sendiri. Perlu dicatat bahwa beberapa URL tersebut mungkin tidak memiliki awalan lengkap yang merupakan domain root dari halaman dalam hal ini https. //google. com, sehingga kami dapat dengan mudah melakukan pra-penundaan ini kepada mereka dan kami akan memiliki URL lengkap yang memenuhi syarat untuk setiap halaman Selanjutnya untuk melanjutkan pengujian kami, kami akan memberikan kode kami uji coba lagi untuk melihat seberapa baik kerjanya. Apa yang bisa lebih baik daripada mengujinya di blog ini Kode Tidak Memihak Untuk kesederhanaan, eksekusi kode telah diabstraksi karena ada banyak tautan aktual yang ditemukan di halaman utama. Karena kode dibundel dalam repo Github di sini, Anda selalu dapat mengunduh kode dan menjalankannya sendiri seperti yang ditunjukkan di bawah ini $ python ./python-find-urls-page.py Downloading page: https://unbiased-coder.com Got back response: 200 Page length: 85175 Found URL: https://unbiased-coder.com/category/programming/ Found URL: https://unbiased-coder.com/category/programming/python/ Found URL: https://unbiased-coder.com/category/programming/python/django/ Found URL: https://unbiased-coder.com/category/programming/python/boto3/ Found URL: https://unbiased-coder.com/category/programming/python/pytube/ Found URL: https://unbiased-coder.com/category/programming/python/tesseract/ Found URL: https://unbiased-coder.com/category/programming/python/pillow/ Found URL: https://unbiased-coder.com/category/programming/python/openai/ Found URL: https://unbiased-coder.com/category/programming/python/pip/ Found URL: https://unbiased-coder.com/category/programming/python/poetry/ Found URL: https://unbiased-coder.com/category/programming/python/spacy/ Found URL: https://unbiased-coder.com/category/programming/python/nltk/ Found URL: https://unbiased-coder.com/category/programming/python/beautifulsoup/ Found URL: https://unbiased-coder.com/category/programming/python/pdf/ Found URL: https://unbiased-coder.com/category/programming/python/pynamodb/ Found URL: https://unbiased-coder.com/category/programming/php/ ...._ Kode berhasil menarik semua URL dari https. // pembuat kode yang tidak bias. situs web com Ada satu hal yang perlu kami catat di sini dan ini adalah Anda perlu melakukan sedikit penyesuaian kode untuk mencoba URL baru. Karena dalam kode yang ditunjukkan sebelumnya di bagian implementasi, kami memiliki baris berikut page = 'https://www.google.com'_ Baris di atas jelas menunjuk ke halaman web Google. Untuk menjalankannya di situs web yang berbeda, kami hanya perlu menyesuaikan nilainya di sana ke URL apa pun yang ingin kami tarik tautannya. Jadi misalnya jika kita menjalankan ini terhadap situs pembuat kode yang tidak memihak, ini akan terlihat seperti ini page = 'https://unbiased-coder.com' Kode lainnya dapat tetap utuh dan Anda dapat menggunakannya dengan cara yang sama. Perhatikan bahwa Anda juga dapat mengirimkan awalan URL tertentu dan tidak harus domain tingkat atas. Namun jika Anda meneruskan parameter ke kode, pastikan mereka diloloskan dengan benar dan dalam format URL yang disandikan agar berfungsi dengan benar Jika Anda tidak yakin tentang cara melakukannya, lihat bagaimana browser seperti Google Chrome atau Safari menerjemahkannya untuk Anda. Saya juga dapat membantu Anda jika Anda membutuhkan saya untuk menguraikannya dengan memberikan saya baris di bawah ini KesimpulanKami berhasil membahas Cara Menemukan Semua Tautan Di Halaman Menggunakan Python, semoga saya menjawab pertanyaan apa pun yang mungkin Anda miliki dan membantu Anda memulai pencarian Anda untuk menemukan URL di halaman web Jika menurut Anda ini berguna dan menurut Anda ini mungkin membantu Anda, silakan berikan dukungan kepada saya di bawah. Saya akan sangat menghargainya Jika Anda memiliki pertanyaan, komentar, silakan kirim di bawah atau kirimkan saya catatan di twitter saya. Saya memeriksa secara berkala dan mencoba menjawabnya sesuai prioritas mereka. Juga jika Anda memiliki koreksi, tolong beri tahu saya dan saya akan memperbarui artikel dengan pembaruan atau kesalahan baru yang saya lakukan Apakah Anda mempertimbangkan untuk menggunakan kode untuk mengekstrak URL dari halaman? Saya pribadi menggunakan ini secara ekstensif untuk berbagai alasan penelitian. Python bisa menjadi alat yang hebat untuk melakukan tindakan ini dalam kode scraping, analitik, dan penambangan Anda. Offcourse hanya menggunakan ini di situs web yang Anda memiliki izin untuk menggunakannya atau yang diizinkan oleh persyaratan layanan situs web Jika Anda ingin mengunjungi dokumentasi resmi BeautifulSoup di sini Jika Anda ingin menemukan lebih banyak artikel terkait mengotomatiskan tugas dengan Python, Anda dapat memeriksa daftar di bawah ini Bagaimana cara mengekstrak semua tautan dari situs web?Alat Ekstraktor Tautan digunakan untuk mengekstrak tautan dari dokumen HTML. . Klik kanan hyperlink Dari menu Konteks, pilih Edit Hyperlink Salin URL dari bidang Alamat Tombol Esc untuk menutup kotak dialog Edit Hyperlink Rekatkan URL ke sel mana pun yang diinginkan Bagaimana cara mendapatkan semua tautan dari situs web di BeautifulSoup?Langkah-langkah yang harus diikuti. get() metode dengan meneruskan URL ke sana. Membuat objek Parse Tree i. e. objek sup menggunakan metode BeautifulSoup() , meneruskannya dokumen HTML yang diekstraksi di atas dan parser HTML bawaan Python. Gunakan tag a untuk mengekstrak tautan dari objek BeautifulSoup.
Bagaimana cara mengikis banyak URL dengan Python?Menggores beberapa Halaman situs web Menggunakan Python . Kami akan mengimpor semua perpustakaan yang diperlukan Siapkan string URL kami untuk membuat koneksi menggunakan pustaka permintaan Mem-parsing data yang tersedia dari halaman target menggunakan pengurai perpustakaan BeautifulSoup Bagaimana cara mendapatkan data URL dengan Python?Mengambil URL . impor urllib. permintaan dengan urllib. meminta. urlopen('http. //python. org/') sebagai respons. html = tanggapan. . impor shutil impor tempfile impor urllib. permintaan dengan urllib. meminta. urlopen('http. //python. org/') sebagai respons. dengan tempfile. . impor urllib. permintaan req = urllib. meminta |