2016-05-16 10 views
0

私は(いくつかの要素は読みやすさを向上させるために除去されます)を解析したいのですが、次のHTMLコードを持っている:構造化されていないHTMLコードを解析するにはどうすればよいですか?

</div> 
      <article class="article-detail-description"> 
       <h1 class="page-heading"> 
        Postulat operacyjności definicji w naukach społecznych 
        <br /><small>Definition’s Operativeness Postulate in Social Sciences</small> 
       </h1> 

       <div> 
        <strong>Author(s): </strong>Jakub Karpiński<br /><strong>Subject(s): </strong>Social Sciences<br /><strong>Published by: </strong>Instytut Filozofii i Socjologii Polskiej Akademii Nauk<br/><strong>Keywords: </strong>operationism; definition of property; definition of indicator; concepts selection 
<br/> 
       </div> 
        <p class="summary"><strong>Summary/Abstract: </strong> 
The article’s primary goal is to demonstrate the problems inherited in “operationism – antioperationism” polemics. 
</p> 
       <ul class="nav nav-tabs"> 
        <li class="active" ><a href="#details" data-toggle="tab">Details</a></li> 

        <li><a href="#tableOfContents" data-toggle="tab">Contents</a></li> 

       </ul> 
       <div class="tab-content"> 
        <div class="tab-pane fade active in" id="details"> 
         <p class="journal-link"><strong>Journal: </strong><a href="/search/journal-detail?id=10">Studia Socjologiczne</a></p> 
         <ul class="article-additional-info"> 
          <li><strong>Issue Year:</strong> 2011</li><li><strong>Issue No:</strong> 1 (200)</li><li><strong>Page Range:</strong> 65-80</li><li><strong>Page Count:</strong> 15</li><li><strong>Language:</strong> Polish</li> 
         </ul> 
        </div> 

私は

document.getElementsByClassName("article-detail-description")[0].textContentを使用することによって、それのすべてを読むことができます。

だけ<p class="summary"を読み取るには、私が使用します。それはまた、私は多くの要素に興味Summary/Abstract:

を示しているため

getElementsByClassName("summary")[0].textContent

しかし、後者が不完全である、のは、例として以下のことを見てみましょう:

。 Postulatoperacyjnościdefinicji naukachspołecznych

wは私が得ることができます:

Postulat operacyjności definicji w naukach społecznych 
Definition’s Operativeness Postulate in Social Sciences 

は、私が使用してそれを取得するには:document.getElementsByClassName("page-heading")[0].innerText

私はPostulat operacyjności definicji w naukach społecznych別途取得し、Definition’s Operativeness Postulate in Social Sciencesはどうすればよいですか?

。たとえば私はしたいと思います2011 from:

`<li><strong>Issue Year:</strong> 2011</li><li>` 

今回は、この情報を取得する手がかりが全くありません。 Issue No:などについても同様です。

+1

、あなたはDOM要素のプロパティを読んでいます。 – RobG

+0

あなたが何を記述しているかについては、「病気の構造化」もありません。 HTMLノードはサブノードとサブテキストを持つことができます。それはあまりフォーマットされていない、または構造化されていません。 – Jamiec

+0

可能な解決策については、こちら[こちら](http://stackoverflow.com/questions/9955955/get-text-of-an-element-without-children-in-javascript) –

答えて

0

構造が安定しているかどうかによって異なります。しかし、あなたは、アクセステキストノードを行くことができます:あなたは何を解析していない

var heading = document.getElementsByClassName('page-heading')[0]; 
 
var polish = heading.childNodes[0].textContent.trim(); 
 
var english = heading.childNodes[2].textContent.trim(); 
 
console.log("Polish:", polish); 
 
console.log("English:", english); 
 

 
var li = document.querySelector('.article-additional-info li'); 
 
var issueYear = li.childNodes[1].textContent.trim(); 
 
console.log("Issue Year:", issueYear);
</div> 
 
      <article class="article-detail-description"> 
 
       <h1 class="page-heading"> 
 
        Postulat operacyjności definicji w naukach społecznych 
 
        <br /><small>Definition’s Operativeness Postulate in Social Sciences</small> 
 
       </h1> 
 

 
       <div> 
 
        <strong>Author(s): </strong>Jakub Karpiński<br /><strong>Subject(s): </strong>Social Sciences<br /><strong>Published by: </strong>Instytut Filozofii i Socjologii Polskiej Akademii Nauk<br/><strong>Keywords: </strong>operationism; definition of property; definition of indicator; concepts selection 
 
<br/> 
 
       </div> 
 
        <p class="summary"><strong>Summary/Abstract: </strong> 
 
The article’s primary goal is to demonstrate the problems inherited in “operationism – antioperationism” polemics. 
 
</p> 
 
       <ul class="nav nav-tabs"> 
 
        <li class="active" ><a href="#details" data-toggle="tab">Details</a></li> 
 

 
        <li><a href="#tableOfContents" data-toggle="tab">Contents</a></li> 
 

 
       </ul> 
 
       <div class="tab-content"> 
 
        <div class="tab-pane fade active in" id="details"> 
 
         <p class="journal-link"><strong>Journal: </strong><a href="/search/journal-detail?id=10">Studia Socjologiczne</a></p> 
 
         <ul class="article-additional-info"> 
 
          <li><strong>Issue Year:</strong> 2011</li><li><strong>Issue No:</strong> 1 (200)</li><li><strong>Page Range:</strong> 65-80</li><li><strong>Page Count:</strong> 15</li><li><strong>Language:</strong> Polish</li> 
 
         </ul> 
 
        </div>

関連する問題