Parser situs webPengembangan & Kustomisasi

Parser situs web dalam Python yang mengumpulkan data publik dari halaman ke CSV atau Excel: harga, katalog, listing

Biasanya selesai dalam 15 menitTermasuk revisiPemeriksaan kualitas
Paket
Perlindungan pembayaranSelengkapnya
  • Revisi dalam batas paket tidak dikenai biaya.
  • Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.

Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Parser situs web dalam Python yang mengumpulkan data publik dari halaman ke CSV atau Excel: harga, katalog, listing

Contoh hasil

Contoh untuk paket Standar

Parser katalog pemasok alat berkebun ke Excel

Seperti apa hasilnya

ArtikelNamaHargaTersediaBeratFoto
GT-1042Gunting dahan, 20 mm18,90Ya0,24 kg…/gt-1042.jpg
GT-1187Gergaji lipat, 210 mm24,50Ya0,31 kg…/gt-1187.jpg
GT-2210Gunting pagar tanaman, mata bergelombang39,00Tidak1,10 kg…/gt-2210.jpg
GT-3305Sekop tangan, baja tahan karat9,80Ya0,18 kg…/gt-3305.jpg
GT-4120Selang taman 25 m, 1/2"42,00Ya2,90 kg…/gt-4120.jpg

File dalam contoh ini berisi 1.236 produk dari 52 halaman daftar.

Sebagian kode

def product_links(list_url: str) -> Iterator[str]:
    """Tautan halaman produk dari setiap halaman daftar, mengikuti tombol 'Berikutnya'."""
    url: str | None = list_url
    while url:
        page = fetch(url)
        for card in page.select("div.product-card a.title"):
            yield urljoin(url, card["href"])
        next_link = page.select_one("a.pagination-next")
        url = urljoin(url, next_link["href"]) if next_link else None


def fetch(url: str) -> BeautifulSoup:
    """Satu halaman terbuka, dengan kecepatan sopan: jeda antarpermintaan dan beberapa kali coba saat error."""
    for attempt in range(3):
        time.sleep(settings.delay_seconds)
        response = session.get(url, timeout=30)
        if response.status_code == 200:
            return BeautifulSoup(response.text, "html.parser")
        log.warning("%s menjawab %s, percobaan %d dari 3", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} tidak terbuka setelah 3 percobaan")

File: arsip ZIP berisi scraper.py, settings.ini (halaman awal, jeda antarpermintaan, nama file), requirements.txt, dan README tentang cara memasang dan menjalankannya. Parser hanya membaca halaman terbuka, satu halaman setiap 2 detik, dan lebih dulu memeriksa robots.txt situs. Klien menjalankannya di komputernya sendiri.

Klien: toko online perlengkapan kebun yang menjual kembali alat dari seorang pemasok; pemasok punya katalog terbuka di situsnya, tetapi tidak punya file daftar harga. Tugas: menelusuri halaman-halaman daftar katalog, membuka setiap halaman produk, dan menyimpan nomor artikel, nama, harga, stok, berat, serta tautan foto utama ke Excel, untuk membandingkan harga seminggu sekali.

Klien dan semua datanya fiktif.

Tentang layanan ini

Parser mengumpulkan data yang bisa Anda lihat di halaman web publik dan menyimpannya sebagai tabel: harga dan stok produk, katalog pemasok untuk toko Anda, listing, lowongan kerja, acara, atau artikel. Beri tahu kami situs dan halamannya, daftar field yang Anda butuhkan (nama, harga, tautan, gambar, dan sebagainya), dan kirimkan satu atau dua halaman tersebut yang disimpan dari browser Anda (File > Save page as) atau screenshot-nya. Kami menulis parser dalam Python sesuai struktur nyata halaman-halaman itu, dan parser menyimpan hasilnya sebagai CSV, Excel, atau JSON. Anda menerima arsip berisi kode, file pengaturan dengan alamat dan jeda antarhalaman, dan README yang menjelaskan cara memasang Python dan menjalankannya. Anda menjalankan parser di komputer Anda sendiri, sehingga data langsung sampai ke Anda; kami tidak mengumpulkan atau menyimpan data untuk Anda. Parser hanya membaca halaman terbuka, dengan kecepatan sopan, dan tidak pernah login, mengakali captcha atau perlindungan lain, maupun mengumpulkan data pribadi seperti nama, email, atau nomor telepon orang. Saat situs mengubah tata letaknya, parser mungkin perlu diperbarui. Apakah Anda boleh mengumpulkan dan memakai data situs menurut ketentuannya adalah tanggung jawab Anda.

Yang termasuk

  • Yang Anda dapatkanArsip ZIP berisi kode Python, file pengaturan, dan README dengan petunjuk langkah demi langkah; kodenya juga ditampilkan di halaman pesanan.
  • Field Anda, tabel AndaKolom sesuai urutan yang Anda butuhkan
  • Dibuat berdasarkan halaman nyataDitulis sesuai struktur halaman yang Anda kirim
  • Kecepatan sopanJeda antarhalaman, diatur di pengaturan
  • Berjalan di komputer AndaWindows, macOS, atau Linux, dengan Python
  • Panduan yang sederhanaApa yang perlu dipasang dan cara menjalankannya, langkah demi langkah

Cara kerja

  1. 1
    HalamanAnda mengirim situs, field, dan satu atau dua halaman yang disimpan
  2. 2
    ParserKami menulis kode dan panduan menjalankannya
  3. 3
    JalankanAnda menjalankannya dan memeriksa baris-baris pertama tabel
  4. 4
    RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada

Yang kami butuhkan dari Anda

Situs dan halaman persisnya: tautan ke sebuah daftar dan ke satu halaman item, serta kira-kira berapa banyak halamannya. Field yang Anda butuhkan, sesuai urutan tabel Anda, dengan contoh masing-masing. Satu atau dua halaman tersebut yang disimpan dari browser Anda sebagai HTML (File > Save page as) atau screenshot, agar parser mengikuti struktur nyatanya. File hasil yang Anda butuhkan (CSV, Excel, atau JSON) dan di mana Anda akan menjalankannya.

Kami akan menanyakan:

  • Situs dan halaman mana?
  • Field yang Anda butuhkan
  • Kira-kira berapa banyak halaman?
  • File hasil
  • Hal lain yang perlu dilakukan

Bandingkan paket

PaketDasarParser untuk satu jenis halamanRp 425.000StandarHalaman daftar dan itemRp 833.000PremiumBeberapa situs atau jenis halamanRp 1.513.000
Tenggat1 hari2 hari3 hari
Revisi123
Situs11hingga 3
Jenis halaman12 (daftar dan item)hingga 3
Fieldhingga 10hingga 25hingga 25 di masing-masing
Menelusuri halaman-halaman daftarTidakYaYa
File hasilCSVExcel atau CSVExcel, CSV, atau JSON
Duplikat dihapus, melanjutkan dari titik berhentiTidakTidakYa
Pesan DasarPesan StandarPesan Premium

Perlindungan pembayaran

Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.

  • Harga pastiHarga paket tidak berubah setelah Anda membayar.
  • Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
  • Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
  • Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
  • Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
  • Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Cara kerjanya →

Tanya jawab

Apakah legal mem-parsing sebuah situs?

Mengumpulkan data publik diperbolehkan dalam banyak kasus, tetapi ketentuan penggunaan situs dan undang-undang data berbeda antarnegara, jadi Anda yang memutuskan apakah Anda boleh mengumpulkan dan memakai datanya. Parser tidak pernah login, mengakali perlindungan, atau mengumpulkan data pribadi, sehingga tetap berada di sisi yang aman.

Apakah Anda akan mengumpulkan datanya untuk saya?

Tidak. Anda menerima parsernya dan menjalankannya sendiri, sehingga hasilnya langsung sampai ke Anda dan Anda bisa menjalankannya lagi kapan pun Anda butuh data terbaru.

Bagaimana jika situs berubah atau memblokir parser?

Parser bekerja sesuai halaman seperti saat ini. Jika situs mengubah tata letaknya nanti, parser perlu diperbarui, dan itu menjadi pesanan baru. Parser membaca dengan kecepatan sopan, tetapi situs tetap bisa membatasi kunjungan; parser tidak mengakali batasan seperti itu.

Bisakah parser membaca Amazon, Google, atau media sosial?

Tidak. Ketentuan mereka melarang pengumpulan data dengan cara ini, banyak halamannya membutuhkan login, dan halaman-halaman itu memuat data pribadi orang. Untuk data seperti itu, gunakan API resmi atau fitur ekspor layanan tersebut.

Apakah saya perlu bisa pemrograman?

Tidak. README menjelaskan cara memasang Python sekali, memasang apa yang dibutuhkan parser dengan satu perintah, dan menjalankannya. Untuk halaman yang membangun kontennya dengan JavaScript, parser memakai library browser (Playwright), yang juga dijelaskan di README.

Tidak menemukan jawabannya?

Paket