Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Bagaimana cara deep crawling url dari hitungpersen.com
Halo folk
Saya ingin melakukan crawling url dari situs https://hitungpersen.com/
Dimana prosesnya itu ketika mendapatkan link dari home page di dalam link itu terdapat link lain yang harus saya crawler
<p class="mt-4 text-sky-500 dark:text-skay-400 text-base leading-relaxed">
<a href="https://hitungpersen.com/post/berapa-1-persen-dari-1">
Berapa 1% dari 1?
</a>
</p>
<p class="mt-4 text-sky-500 dark:text-skay-400 text-base leading-relaxed">
<a href="https://hitungpersen.com/post/berapa-2-persen-dari-2">
Berapa 2% dari 2?
</a>
</p>
Misalnya salah satu link di atas diakses lagi, maka akan terdapat berbagai link lagi seperti :
<h2 class="mt-2 text-xl font-semibold text-gray-900 dark:text-white">Hasil hitung persen berikutnya</h2>
<p class="mt-4 text-sky-500 dark:text-skay-400 text-base leading-relaxed">
<a href="https://hitungpersen.com/post/berapa-2-persen-dari-1">
Berapa 2% dari 1?
</a>
</p>
<h2 class="mt-2 text-xl font-semibold text-gray-900 dark:text-white">Hasil hitung nomor berikutnya</h2>
<p class="mt-4 text-sky-500 dark:text-skay-400 text-base leading-relaxed">
<a href="https://hitungpersen.com/post/berapa-1-persen-dari-2">
Berapa 1% dari 2?
</a>
</p>
Bagaimana cara mengambil seluruh link nya dengan bantuan python? saya sudah coba membuatnya, namun hanya ilnk di home page saja yang berhasil diambil
Terimakasih
2 Jawaban:
Hi dalam crawling, kamu perlu:
- Analisa website yang kamu tuju. Lihat di mana data yang kamu mau ambil berada
- Maka targetkan parsing kamu dengan lokasi CSS/tag tersebut
- Ada kemungkinan lain jika link tidak terbaca , bisa jadi ia dari request Javascript (tidak terload langsung) karena itu kamu perlu menganalisa request JS yang ada di web tersebut
Langkah 1: Install Libraries Pastikan Anda telah menginstal requests dan bs4:
pip install requests beautifulsoup4
Langkah 2: Script Crawling
import requests
from bs4 import BeautifulSoup
def get_links(url):
"""Mengambil semua link dari URL yang diberikan."""
links = []
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
for link in soup.find_all('a', href=True):
links.append(link['href'])
return links
# URL homepage
home_page = 'https://hitungpersen.com/'
# Mengambil link dari homepage
home_links = get_links(home_page)
# Setiap link di home page kemudian di crawl untuk link tambahan
all_links = set(home_links) # Menggunakan set untuk menghindari duplikat
for link in home_links:
if link.startswith(home_page): # Memastikan link adalah bagian dari situs
additional_links = get_links(link)
all_links.update(additional_links)
# Menampilkan semua link yang telah di-crawl
for link in all_links:
print(link)