Parser tenderPengembangan & Kustomisasi

Parser Python untuk pengumuman tender dan pengadaan terbuka: pembeli, objek, harga, dan tenggat dalam tabel

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 untuk pengumuman tender dan pengadaan terbuka: pembeli, objek, harga, dan tenggat dalam tabel

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

Pemasok yang mengikuti tender memakai parser ini untuk melihat pengumuman terbuka dalam satu tabel: nomor pengumuman, objek pengadaan, organisasi pembeli, wilayah, jenis prosedur, harga awal dan mata uang, tanggal terbit, tenggat, status, dan tautan. Lakukan pencarian di portal pengadaan dengan kata kunci atau kode Anda, lalu kirimkan tautan itu, satu halaman pengumuman, dan satu atau dua halaman yang disimpan dari browser Anda. Anda menerima kode Python, file pengaturan, dan README, lalu menjalankannya di komputer Anda setiap pagi atau sesuai kebutuhan. Narahubung tidak disertakan: tidak ada nama, email, atau nomor telepon. Parser tidak login, tidak mengunduh dokumen di balik akun, tidak mengakali captcha maupun perlindungan, dan tidak mengajukan penawaran, serta menjaga kecepatan sopan. Anda yang memutuskan apakah ketentuan portal mengizinkannya; perubahan tata letaknya 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.
  • Tenggat yang bisa diurutkanTanggal dalam satu format, siap diurutkan berdasarkan tenggat
  • Harga awal sebagai angkaDengan mata uang di kolomnya sendiri
  • Kata kunci AndaDimulai dari pencarian yang Anda atur di portal
  • Tanpa narahubungHanya organisasi pembeli, tanpa nama atau telepon
  • Kecepatan sopanJeda antarhalaman, diatur di pengaturan

Cara kerja

  1. 1
    PencarianAnda mengatur pencarian dan mengirim tautannya serta satu pengumuman yang disimpan
  2. 2
    ParserKami menulis kode dan panduan menjalankannya
  3. 3
    JalankanAnda menjalankannya dan mencocokkan pengumuman hari ini dengan portalnya
  4. 4
    RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada

Yang kami butuhkan dari Anda

Portal pengadaan dan tautan ke pencarian dengan kata kunci, kode, atau wilayah Anda, satu halaman pengumuman, dan kira-kira berapa banyak pengumuman yang ditampilkan pencarian itu. Field sesuai urutan tabel Anda, mis. nomor, objek, pembeli, wilayah, harga awal, mata uang, terbit, tenggat, tautan. Satu atau dua halaman tersebut yang disimpan dari browser Anda (File > Save page as) atau screenshot. CSV atau Excel.

Kami akan menanyakan:

  • Portal dan pencarian mana?
  • Kata kunci, kode, atau wilayah
  • Field yang Anda butuhkan
  • Seberapa sering Anda akan menjalankannya?

Bandingkan paket

PaketDasarPengumuman dari tautan AndaRp 357.000StandarPencarian Anda, setiap pengumumanRp 714.000PremiumHingga 3 portalRp 1.275.000
Tenggat1 hari2 hari3 hari
Revisi123
Situs11hingga 3
Jenis halaman12 (hasil pencarian dan pengumuman)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 mengajukan penawaran atau mengunduh dokumen tender?

Tidak. Parser hanya membaca halaman terbuka dan menyimpan tautan ke setiap pengumuman. Dokumen di balik akun, penandatanganan, dan penawaran tetap Anda urus sendiri.

Apakah portal punya ekspor resmi?

Banyak portal pengadaan publik menerbitkan data terbuka atau ekspor. Jika portal Anda menyediakannya, itu mungkin lebih cocok untuk Anda, dan kami akan memberitahukannya saat melihat halaman Anda.

Apakah parser akan menemukan setiap tender untuk saya?

Parser mengumpulkan apa yang ditampilkan pencarian Anda di portal. Kata kunci yang lebih baik memberi daftar yang lebih lengkap; kami tidak menjanjikan daftar yang lengkap maupun kemenangan tender.

Bisakah parser membaca portal di balik login atau captcha?

Tidak. Parser tidak pernah login atau mengakali captcha maupun perlindungan. Parser juga tidak membaca Google, Amazon, LinkedIn, atau media sosial. Untuk portal lain, Anda yang memutuskan apakah ketentuannya mengizinkan.

Tidak menemukan jawabannya?

Paket