通過油猴的 GM_xmlhttpRequest 可以編寫爬蟲腳本羊壹。記錄如下:
需要權(quán)限
// @grant GM_xmlhttpRequest
// @connect xxx.com
示例
通過 get 方法訪問指定網(wǎng)址肮塞,爬取列表內(nèi)容啤斗,并彈窗顯示內(nèi)容奄妨。
目標網(wǎng)頁
代碼如下:
// ==UserScript==
// @name learningTampermonkey
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @include http://*/*
// @include https://*/*
// @require https://cdn.staticfile.org/jquery/1.9.1/jquery.min.js
// @grant GM_xmlhttpRequest
// @grant GM_registerMenuCommand
// @connect gongju.dadiyouhui.cn
// ==/UserScript==
(function() {
'use strict';
// Your code here...
var learningTampermonkey = function(){
var learningTest = function(){
GM_xmlhttpRequest ( {
method: "GET",
url: 'http://gongju.dadiyouhui.cn/zhekoutb_zhide/b60010/tb_zhide.htm',
onload: function (response) {
console.log('已連接');
// 獲取網(wǎng)頁內(nèi)容
var webText = response.responseText;
// 創(chuàng)建虛擬 DOM 元素
var el = document.createElement('html');
el.innerHTML = webText;
// 提取虛擬 DOM 元素內(nèi)目標
var centObj = el.getElementsByClassName('cent');
// 循環(huán)輸出商品信息
var alertObj=('商品信息\n');
for (var i = 0; i < centObj.length; i++) {
var titleObj = centObj[i].querySelector('h3');
var priceObj = centObj[i].querySelectorAll('div')[2];
alertObj += titleObj.innerText + "\n";
alertObj += priceObj.innerText + "\n";
}
// 彈出商品信息提示窗
alert(alertObj);
},
onerror: function (){
alert('連接失敗');
}
} );
};
var RegMenu=function(){
GM_registerMenuCommand("代碼測試",function(){
learningTest();
});
};
this.init=function(){
RegMenu();
}
}
var codeTest = new learningTampermonkey();
codeTest.init();
})();
爬蟲結(jié)果
成功彈窗