Parser episode podcastPengembangan & Kustomisasi

Parser Python yang mendaftar episode podcast dari situs terbukanya: nomor, judul, tanggal, durasi, dan tautan

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 Python yang mendaftar episode podcast dari situs terbukanya: nomor, judul, tanggal, durasi, dan tautan

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

Host podcast yang pindah ke situs baru, editor show notes, dan peneliti memakai parser ini untuk mendaftar episode dalam tabel: nomor, musim, judul, tanggal, durasi, deskripsi singkat, topik atau tag, tautan ke halaman episode, dan tautan audio jika halaman menampilkannya. Parser membaca situs terbuka milik acara itu sendiri, atau feed RSS terbukanya, yang dimiliki sebagian besar podcast. Kirimkan halaman daftar episode, satu halaman episode, dan satu atau dua halaman yang disimpan dari browser Anda. Anda menerima kode Python, file pengaturan, dan README, lalu menjalankannya di komputer Anda. Parser menyimpan tautan, bukan file audio, dan tidak punya kolom untuk nama tamu. Parser membaca dengan kecepatan sopan, tidak pernah login atau mengakali captcha maupun perlindungan, dan tidak membaca media sosial atau aplikasi pendengar yang membutuhkan akun. Anda yang memutuskan apakah ketentuan situs mengizinkannya; perubahan tata letak di kemudian hari membutuhkan pembaruan.

Yang termasuk

  • Yang Anda dapatkanArsip ZIP berisi kode Python, file pengaturan, dan README dengan petunjuk langkah demi langkah; kodenya juga ditampilkan di halaman pesanan.
  • Episode berurutanNomor, musim, dan tanggal di kolom terpisah
  • Durasi dalam menitJika halaman atau feed menampilkannya
  • Tautan episode dan audioHanya tautan, tanpa file audio
  • Kecepatan sopanJeda antarhalaman, diatur di pengaturan
  • Berjalan di komputer AndaWindows, macOS, atau Linux, dengan Python

Cara kerja

  1. 1
    AcaraAnda mengirim daftar episode atau feed dan satu halaman episode yang disimpan
  2. 2
    ParserKami menulis kode dan panduan menjalankannya
  3. 3
    JalankanAnda menjalankannya dan mencocokkan episode terbaru dengan situsnya
  4. 4
    RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada

Yang kami butuhkan dari Anda

Situs podcast dan tautan ke daftar episodenya, atau alamat feed RSS terbukanya, satu halaman episode, dan kira-kira berapa banyak episodenya. Field sesuai urutan tabel Anda, mis. nomor, musim, judul, tanggal, durasi, deskripsi, tag, tautan episode, tautan audio. Satu atau dua halaman tersebut yang disimpan dari browser Anda (File > Save page as) atau screenshot. CSV, Excel, atau JSON.

Kami akan menanyakan:

  • Podcast yang mana?
  • Field yang Anda butuhkan
  • Kira-kira berapa banyak episode?
  • File hasil

Bandingkan paket

PaketDasarEpisode dari satu daftarRp 357.000StandarHalaman daftar dan episodeRp 697.000PremiumHingga 3 podcastRp 1.258.000
Tenggat1 hari2 hari3 hari
Revisi123
Situs11hingga 3
Jenis halaman12 (daftar episode dan halaman episode)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

Bisakah parser mengunduh file audionya?

Tidak. Episode milik pembuatnya, jadi parser menyimpan tautan ke audio, bukan filenya.

Bisakah parser membaca feed RSS alih-alih halaman?

Ya, jika feed terbuka di alamat publik. Feed dihitung sebagai satu jenis halaman, dan sering memberi tanggal dan durasi dengan lebih rapi daripada situsnya.

Bisakah parser membaca podcast dari aplikasi pendengar atau media sosial?

Tidak. Aplikasi yang membutuhkan akun, media sosial, Google, Amazon, dan LinkedIn tidak termasuk. Situs atau feed terbuka milik acara itu sendiri bisa dipakai, selama Anda memutuskan ketentuannya mengizinkan.

Bisakah parser menulis show notes atau transkrip?

Tidak. Parser mengumpulkan apa yang sudah tertulis di halaman; parser tidak mendengarkan episode atau menulis teks. Jika situs mengubah tata letaknya nanti, parser perlu diperbarui.

Tidak menemukan jawabannya?

Paket