Da Phantomjs ein kopfloser Browser ist, der JS ausführen kann, kann er auch DOM -Knoten ausführen. Dies ist der beste Weg, um ihn für das Web -Crawling zu verwenden.
Zum Beispiel möchten wir den Inhalt der Webseite "heute in der Geschichte" kriechen. Webseite
Nachdem wir die DOM -Struktur beobachtet haben, müssen wir nur den Titelwert von .List li a erhalten. Deshalb verwenden wir einen erweiterten Selektor, um DOM -Fragmente zu erstellen
var d = '' var c = document.querySelectorAll ('. List li a') var l = c.länge; für (var i = 0; i <l; i ++) {d = d+c [i] .title+'/n'}Danach müssen der JS -Code nur in Phantomjs ~ ausgeführt werden ~
var page = require('webpage').create();page.open('http://www.todayonhistory.com/', function (status) { //Open the page if (status !== 'success') {console.log('FAIL to load the address');} else {console.log(page.evaluate(function () {var d= ''var c = document.querySelectorAll ('. List li a') var l = C.Length; für (var i = 0; i <l; i ++) {d = d+c [i] .title+'/n'} return d})} phantom.exit ();});Schließlich speichern wir als catch.js, führen es in DOS aus und geben den Inhalt in die TXT -Datei aus (Sie können auch die Phantomjs -Datei -API zum Schreiben verwenden).