2016-06-10 3 views
-1

Wie Daten zu verwerfen, wenn es keine Klasse, die ich kenne Weg mit ID, Klasse mit document.getElementsByClassName.Wie scraping gibt es keine Klasse mit Javascript

<tr id="overview-summary-current"> 
 
    <th scope="row"> 
 
     <span class="edit-tools"> 
 
     <a href="#background-experience" class="edit-section" id="control_gen_5">Edit experience 
 
     </a> 
 
     </span> 
 
     <a href="#background-experience" data-trk="prof-0-ovw-curr_pos">Current</a> 
 
    </th> 
 
    <td> 
 
     <ol> 
 
     <li> 
 
      <strong> 
 
      <a href="/company/10097785?trk=prof-0-ovw-curr_pos" dir="auto">SNT Solutions rajkot</a> 
 
      </strong> 
 
     </li> 
 
     </ol> 
 
    </td> 
 
</tr>

Ich möchte SNT Solutions rajkot, wie man diesen Wert in der Variablen mit Hilfe von JavaScript erhalten.

trk=prof-0-ovw-curr_pos ist einzigartig in die Homepage

+1

Mit jQuery/Cheerio es wäre einfach: '$ (" a [href^= '/ company' "]). text()', aber in reinem Javascript ist es ein Schmerz. Sie müssen alle "a" -Tags auswählen, dann filtern und stopfen. –

+0

eine Möglichkeit zur Verwendung von reinem JavaScript @JeremyThille –

+0

Nun, wenn Sie scraping, bedeutet es, dass Sie JavaScript-Server-Seite ausführen, so dass Sie Node verwenden (oder da ist etwas, das ich vermisse). Also einfach 'npm installieren cheerio' und genießen Sie serverseitige jQuery :) Warum stören? –

Antwort

0

Ich habe einfache Lösung für diese

var a1 = document.querySelector('a[href$="trk=prof-0-ovw-curr_pos"]').text; 
 
console.log('Data is :::::'+a1);

2

einfache Art und Weise (reines js):

var linksWithoutClass = document.querySelectorAll('#overview-summary-current a'); // return nodeList iterrator 

var linksArray = [].slice.call(linksWithoutClass); // create array from Nodelist 

linksArray.filter(function(link){ // filter list to get <a> without any class 
    return link.classList.length === 0; 
}); 
+0

Ich möchte reine JS oder jQuery-Code nicht andere @JulesGoullee –

+1

Hmmmm .... Mein Beispiel ist schon in pure js [...] –

+0

oppps ich habe es aber wie bekomme ich 'SNT Solutions rajkot' ??? –