javascript - Problème avec l'exploration des pages Web par Nodejs
阿神
阿神 2017-05-16 13:43:09
0
2
645

Je prévois d'utiliser nodejs pour capturer toutes les actualités sur le site Web ci-dessous. Selon l'idée générale, obtenez d'abord l'URL de chaque page d'actualité, puis obtenez l'URL de chaque actualité
Récupérez le contenu de chaque URL à l'aide de la requête et. c'est tout.

Mais toutes les informations de pagination du site Web suivant, ainsi que l'URL de chaque actualité cliquée, n'ont pas changé. Il semble qu'elles soient toutes implémentées via js en arrière-plan

Je ne vois aucune demande utilisant le newwork. onglet de F12 dans Chrome, un maître peut-il me guider pour le récupérer ?

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

阿神
阿神

闭关修行中......

répondre à tous(2)
阿神

1. Comme vous pouvez le voir dans les articles précédents et suivants, la fonction est obligée de cliquer : boardView(1);

2. Recherchez la fonction correspondante dans la page via 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. Vérifiez que les données proviennent de la liste de variables, puis recherchez la liste

4. Voir à la ligne 1739 : 

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

5. Un constructeur s'appelle : jsList() et le code correspondant se trouve ici : http://www.samsungsem.com/js/...

6 Revenez sur le code de l'étape 2 : list.artTitles-->Ces données sont définies via la méthode cmsInit de jsList, et dans 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;
Les données de

...
proviennent du quatrième paramètre data

7. Regardez les données transmises à l'étape 4 qui sont de nouvelles données()
Donc, nous trouvons où la fonction de données est définie.
Recherchez et trouvez : <script src="/global/news/data.js.jsp"></script>

8. Ouvrez-le et jetez un œil : http://www.samsungsem.com/glo...
C'est si étrange. Pourquoi est-ce si étrange ?

Cliquez avec le bouton droit pour afficher le code source :
view-source : http://www.samsungsem.com/glo...
Vous pouvez voir que la fonction de données est définie ici, et les données que vous voyez se trouvent également ici page.

过去多啦不再A梦

Merci pour la réponse, je vais d'abord voir...

Je comprends en gros. Il y a encore quelques choses que je ne comprends pas très bien donc je vais prendre mon temps pour les regarder Merci beaucoup..

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal