欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 爬蟲(chóng)教程

Javascript是目前網(wǎng)絡(luò)世界中最流行的語(yǔ)言之一,而爬蟲(chóng)技術(shù)是近年來(lái)又特別火熱的技術(shù),那么如何結(jié)合兩者,掌握J(rèn)avascript爬蟲(chóng)技術(shù)呢?本篇文章就是一篇Javascript爬蟲(chóng)教程,幫助初學(xué)者了解Javascript爬蟲(chóng)的基本操作,并且通過(guò)案例講解讓大家更容易理解。

首先我們來(lái)看一下Javascript的基礎(chǔ)爬蟲(chóng)操作。將目標(biāo)網(wǎng)站的頁(yè)面源代碼發(fā)送到后臺(tái),使用Javascript來(lái)解析頁(yè)面源代碼,提取出需要的數(shù)據(jù)。首先我們從獲取源代碼開(kāi)始講起。

var request = require('request');
var cheerio = require('cheerio');
var url = "http://www.example.com";
request(url, function(error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
console.log(html);
}
});

上面的代碼中,我們使用了NodeJS的request和cheerio庫(kù),request庫(kù)發(fā)送請(qǐng)求,cheerio庫(kù)解析HTML源代碼。我們調(diào)用request函數(shù),將目標(biāo)網(wǎng)站的URL傳入,并使用回調(diào)函數(shù)得到響應(yīng),得到HTML源代碼。然后我們可以使用cheerio.load函數(shù)加載HTML源代碼,并使用jQuery語(yǔ)法操作DOM結(jié)構(gòu)。

接下來(lái)我們來(lái)看一下如何使用jQuery操作DOM結(jié)構(gòu),提取出需要的數(shù)據(jù)。這里的案例以爬取百度搜索結(jié)果為例,提取出第一頁(yè)中所有搜索結(jié)果的標(biāo)題和鏈接。

var request = require('request');
var cheerio = require('cheerio');
var url = "https://www.baidu.com/s?wd=" + encodeURIComponent('Javascript爬蟲(chóng)');
request(url, function(error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html);
$('.t').each(function(i, element){
var title = $(this).text();
var link = $(this).parent().attr('href');
console.log(title + " - " + link);
});
}
});

上述代碼中,我們先將關(guān)鍵字處理后拼接成完整的搜索鏈接,然后發(fā)送請(qǐng)求,得到HTML源代碼。之后使用cheerio庫(kù)中的load函數(shù)將HTML源代碼加載進(jìn)來(lái),就可以使用jQuery語(yǔ)法選擇DOM元素。然后使用each函數(shù)對(duì)搜索結(jié)果進(jìn)行循環(huán)遍歷,通過(guò).text()方法和.parent().attr()方法獲取搜索結(jié)果的標(biāo)題和鏈接,并打印出來(lái)。

當(dāng)然,以上僅僅是Javascript爬蟲(chóng)的基本操作,在實(shí)際操作中還需注意反爬蟲(chóng)、動(dòng)態(tài)頁(yè)面等問(wèn)題。

總結(jié)一下,Javascript爬蟲(chóng)是一項(xiàng)較為實(shí)用的技術(shù),在實(shí)際開(kāi)發(fā)中應(yīng)用廣泛,本篇文章主要介紹了Javascript爬蟲(chóng)的基本操作和案例分析,希望能夠幫助到大家。