Heim >Web-Frontend >js-Tutorial >Implementierungscode für Web Scraping mit phantomjs_javascript-Kenntnissen

Implementierungscode für Web Scraping mit phantomjs_javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:35:001312Durchsuche

Da PhantomJS ein Headless-Browser ist, der JS ausführen kann, kann er auch Dom-Knoten ausführen, was sich perfekt für das Web-Crawling eignet.

Zum Beispiel möchten wir den Inhalt von „Today in History“ auf der Webseite stapelweise crawlen. Website

Unter Berücksichtigung der Dom-Struktur müssen wir nur den Titelwert von .list li a ermitteln. Deshalb verwenden wir erweiterte Selektoren, um DOM-Fragmente zu erstellen

var d= ''
var c = document.querySelectorAll('.list li a')
var l = c.length;
for(var i =0;i<l;i++){
d=d+c[i].title+'\n'
}

Danach müssen Sie nur noch den js-Code in phantomjs laufen lassen~

var page = require('webpage').create();
	page.open('http://www.todayonhistory.com/', function (status) { //打开页面
		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;
					for(var i =0;i<l;i++){
					d=d+c[i].title+'\n'
					}
						return d
				}))

		}
		phantom.exit();
	});

Schließlich speichern wir es als Catch.js, führen es in DOS aus und geben den Inhalt in eine TXT-Datei aus (Sie können zum Schreiben auch die Datei-API von PhantomJS verwenden)

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn