Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengikis Data Dijana JavaScript Dinamik daripada Tapak Web?

Bagaimanakah Saya Boleh Mengikis Data Dijana JavaScript Dinamik daripada Tapak Web?

Mary-Kate Olsen
Lepaskan: 2024-12-03 17:33:11
asal
183 orang telah melayarinya

How Can I Scrape Dynamic JavaScript-Generated Data from a Website?

Cara Mendapatkan Data yang Dijana oleh JavaScript daripada Halaman Web

Mengikis web boleh mencabar apabila kandungan halaman dijana secara dinamik oleh JavaScript. Satu senario sedemikian ditemui di http://vtis.vn/index.aspx, di mana data yang dikehendaki ("Danh sách chậm") tidak tersedia sehingga butang diklik.

Penyelesaian Menggunakan PhantomJS

Untuk mendapatkan semula data ini secara pengaturcaraan, pertimbangkan untuk menggunakan PhantomJS, a pelayar WebKit tanpa kepala dengan keupayaan JavaScript. PhantomJS mendayakan skrip interaksi penyemak imbas, membolehkan anda mensimulasikan mengklik butang dan seterusnya mengakses data yang diberikan.

Contoh Skrip:

var page = require('webpage').create();

page.open('http://vtis.vn/index.aspx', function() {
  page.evaluate(function() {
    // Click the "Danh sách chậm" button
    document.querySelector('button[onclick="DanhSachCham();"]').click();
  });

  // Wait for the data to load
  setTimeout(function() {
    var data = page.evaluate(function() {
      // Extract the data from the page
      return document.querySelector('div[id="DivDanhSachTTHT"] tbody').innerHTML;
    });
    console.log(data);
  }, 1000);
});
Salin selepas log masuk

Pendekatan Alternatif : Menggunakan API

Jika boleh, meneroka sama ada halaman membuat sebarang panggilan Ajax untuk mendapatkan semula data adalah disyorkan. Jika ya, adalah mungkin untuk mengelakkan pengikisan dan sebaliknya berinteraksi dengan API untuk mendapatkan data secara langsung. Pendekatan ini biasanya lebih stabil dan boleh diselenggara daripada mengikis.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengikis Data Dijana JavaScript Dinamik daripada Tapak Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan