javascript - Masalah dengan nodejs merangkak halaman web
阿神
阿神 2017-05-16 13:43:09
0
2
654

Saya bercadang untuk menggunakan nodejs untuk menangkap semua berita di tapak web di bawah Menurut idea umum, mula-mula dapatkan URL setiap halaman berita, dan kemudian dapatkan URL setiap berita
Ambil kandungan setiap URL menggunakan permintaan dan. itu sahaja

Tetapi semua maklumat paging tapak web berikut, serta URL setiap berita yang diklik, tidak berubah Nampaknya semuanya dilaksanakan melalui js di latar belakang tab F12 dalam chrome , ada master boleh guide saya macam mana nak grab?

http://www.xxxxxxxxx.com/glob...

阿神
阿神

闭关修行中......

membalas semua(2)
阿神

1 Seperti yang anda lihat dari artikel sebelumnya dan seterusnya, fungsi terikat untuk mengklik: boardView(1);

2. Cari fungsi yang sepadan dalam halaman melalui boadrview:

function boardView(idx){
  var listNum = 10; // 목록 수 지정
  
  var resultLenplistNum = Math.floor(idx/listNum); // 결과 나누기 목록수
  var resultLenRestlistNum = Math.floor(idx%listNum); // 결과 나머지 목록수
  if (resultLenRestlistNum == 0){
    pageNum = resultLenplistNum;
  } else {
    pageNum = resultLenplistNum + 1;
  }
  
  cmsView.style.display = 'block';
  cmsList.style.display = 'none';
  resultViewStr = '<p class="news_view"><p class="news_hd">';
  resultViewStr = resultViewStr + '<strong>'+list.artCatTitles[resultSearch[idx]] +'</strong>';
  resultViewStr = resultViewStr + '<p>'+list.artTitles[resultSearch[idx]]+'</p>';
  resultViewStr = resultViewStr + '<span>'+list.artTimes[resultSearch[idx]]+'</span></p>';
  resultViewStr = resultViewStr + '<p class="news_bd">'+list.artTexts[resultSearch[idx]];
  resultViewStr = resultViewStr + list.artFiles[resultSearch[idx]]+'</p>';
  resultViewStr = resultViewStr + '<p class="news_link"><ul>';
  resultViewStr = resultViewStr + '<li><strong><span></span>';

…………

3 Lihat bahawa data datang daripada senarai pembolehubah, dan kemudian cari senarai

4 Lihat di baris 1739:

var artId = "";
var catId = "se14_24";
var tplId = "";
list = new jsList();
list.cmsInit(catId, artId, tplId, new data()); // list 객체 생성

5. Pembina dipanggil: jsList() dan kod yang sepadan ditemui di sini: http://www.samsungsem.com/js/...

6 Lihat kembali kod dalam langkah 2: list.artTitles-->Data ini ditetapkan melalui kaedah cmsInit jsList dan dalam cmsInit:

function cmsInit(catId, artId, tplId, data) {

    this.artIds = data.artIds;
    this.artCatTitles = data.artCatTitles;
    this.artTitles = data.artTitles;
    this.artUrls = data.artUrls;
    this.artTimes = data.artTimes;
    this.artImgs = data.artImgs;
    this.artTexts = data.artTexts;
    this.artTexts2 = data.artTexts2;
    this.artKeywords = data.artKeywords;
    this.artFiles = data.artFiles;
Data

...
berasal daripada data parameter keempat

7 Lihat pada data yang diluluskan dalam langkah 4 iaitu data baharu()
Jadi, kita dapati di mana fungsi data ditakrifkan.
Cari dan cari: <script src="/global/news/data.js.jsp"></script>

8. Buka dan lihat: http://www.samsungsem.com/glo...
Rasanya pelik sangat?

Klik kanan untuk melihat kod sumber:
view-source: http://www.samsungsem.com/glo...
Anda boleh melihat bahawa fungsi data ditakrifkan di sini, dan data yang anda lihat juga pada ini muka surat.

过去多啦不再A梦

Terima kasih atas jawapan, saya pergi tengok dulu...

Saya pada asasnya memahaminya masih ada beberapa perkara yang saya kurang faham jadi saya akan mengambil masa saya untuk melihatnya..

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan