Rumah >hujung hadapan web >tutorial js >Kod pelaksanaan untuk mengikis web menggunakan kemahiran phantomjs_javascript

Kod pelaksanaan untuk mengikis web menggunakan kemahiran phantomjs_javascript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2016-05-16 16:35:001342semak imbas

Oleh kerana phantomjs ialah penyemak imbas tanpa kepala yang boleh menjalankan js, ia juga boleh menjalankan nod dom, yang sesuai untuk merangkak web.

Sebagai contoh, kami ingin merangkak secara berkelompok kandungan "Hari Ini dalam Sejarah" pada halaman web. Laman web

Memerhatikan struktur dom, kita hanya perlu mendapatkan nilai tajuk .list li a. Jadi kami menggunakan pemilih lanjutan untuk membina serpihan DOM

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'
}

Selepas itu, anda hanya perlu membiarkan kod js dijalankan dalam phantomjs~

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();
	});

Akhirnya kami menyimpannya sebagai catch.js, melaksanakannya dalam dos dan mengeluarkan kandungan ke fail txt (anda juga boleh menggunakan api fail phantomjs untuk menulis)

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn