recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Problème avec l'exploration des pages Web par Nodejs

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...

阿神阿神2747 Il y a quelques jours647

répondre à tous(2)je répondrai

  • 阿神

    阿神2017-05-16 13:45:09

    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.

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 13:45:09

    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..

    répondre
    0
  • Annulerrépondre