日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用Greasemonkey脚本收藏网站会员信息到本地

發布時間:2025/7/14 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Greasemonkey脚本收藏网站会员信息到本地 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫了個Greasemonkey腳本,可以收集世紀佳緣交友網會員搜索結果頁你喜歡的會員信息,把它們保存到本地HTML文件,以便日后查閱。為了避免肖像或隱私侵權問題,本文附圖將作簡單馬賽克處理。

一、腳本功能介紹

正常情況下,如果你在會員搜索結果頁通過相片看好某個會員(所謂眼緣好的會員),想快速記錄下這個會員的信息并不是一件容易的事情,你也許會在會員相片上單擊右鍵,然后把這個會員的主頁地址先記下來,一個頁面如果有較多看好的會員想收藏的話,你還得重復上面的操作。默認搜索結果頁顯示效果如下圖:

安裝我寫的Greasemonkey腳本后,搜索結果頁就會發生一點改變,“給我寫信”按鈕會變成“收藏”復選框,效果如下圖,注意紅框標識與前面圖片的變化對比:

現在假設你想收藏第一排右邊兩位美女信息的話,你就點擊“收藏”復選框(不想收藏就再次點擊取消選擇即可),這樣在頁腳翻頁位置的文本框里就會生成你選中會員信息的HTML,并且默認處于選中狀態,你右鍵復制它,如下圖:

最后把復制的HTML代碼粘貼到一個預定義樣式的html頁面的指定位置(比如把復制的LI標簽代碼粘貼到jiayuan.html文件的UL標簽之間,以后新的收藏一直往后面堆就行了,最后這個jiayuan.html文件就是你收藏會員的記錄文件),結果如下圖:

jiayuan.html模板文件代碼如下。模板后面我還加了一段實用腳本,可以幫助檢查重復的會員記錄,重復的記錄背景會變紅顯示(一次顯示一筆重復記錄),效果如下圖。把以下HTML代碼復制后用記事本另存為html后綴的文件即可。

<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/>
<title>佳緣會員收藏</title>
<style?type="text/css">
*?
{margin:0;?padding:0}
li?
{list-style:none}
body?
{font-size:12px;?line-height:1.5em;?padding:20px}

li?
{width:130px;?height:200px;?float:left;?text-align:center}
li?img?
{border:3px?solid?#F4F6F9;?width:110px;?height:136px}
li?strong?
{display:block;?color:#0043B7}
</style>
</head>

<body>
<ul>
<!--把你復制的代碼放到這里,然后保存預覽即可看到效果-->
</ul>

<script?type="text/javascript">
//簡單重復記錄檢查腳本
var?ids?=?[];
var?lis?=?document.getElementsByTagName('li');
//提取用戶ID存到數組
for?(var?a?=?0;?a?<?lis.length;?a++)?
{
????
var?id?=?lis[a].getElementsByTagName('a')[0].href.match(/\/(\d+)\?/)[1];
????ids[ids.length]?=?parseInt(id);
????lis[a].user?
=?id;
}
//排序數組
ids.sort();
//重復檢查
for?(var?i?=?0;?i?<?ids.length?-?1;?i++)?
{
????
if?(ids[i]?==?ids[i?+?1])?
????{
????????
for?(var?b?=?0;?b?<?lis.length;?b++)?
????????{
????????????
if?(lis[b].user?==?ids[i])?
????????????{
????????????????lis[b].style.background?
=?'pink';
????????????}
????????}
????????
//alert('注意:至少發現ID為【'?+?ids[i]?+?'】的會員信息重復!');
????????break;
????}
}
</script>
</body>
</html>

二、安裝和使用腳本

要使用本腳本功能,你必須安裝Firefox(火狐)瀏覽器,而且這個瀏覽器裝上了Greasemonkey插件,然后在本地或網絡能找到JiaYuan.user.js腳本文件(就是我寫的Greasemonkey腳本,后面會提供代碼),然后在本地拉這個JS腳本到瀏覽器窗口,或者通過網絡地址訪問這個JS腳本(JiaYuan.user.js),就會彈出腳本安裝界面,如下圖:

成功安裝瀏覽器和插件,以及腳本后,訪問佳緣網會員搜索表單頁:http://search.jiayuan.com,
提交一次搜索請求,在出來的結果頁,如果不是照片顯示模式,把它切換過來,確保看到的搜索結果頁與本文一開始提供的界面那樣,此時不出意外的話就可以看到“收藏”復選框了,接下來的操作參考“腳本功能介紹”。

溫馨提示:想知道Greasemonkey插件是否安裝成功,請查看瀏覽器【工具】是否有【Greasemonkey】選項,以及瀏覽狀態欄右側是否有“小猴子”圖標,而且這個“小猴子”圖標不是灰色的,如果都有則表明Greasemonkey插件成功安裝,如下圖:

三、相關下載

(1)Firefox(火狐)瀏覽器:http://www.xdowns.com/soft/1/2/2009/Soft_52565.html(本版本已集成Greasemonkey插件)

(2)Greasemonkey插件:http://releases.mozilla.org/pub/mozilla.org/addons/748/greasemonkey-0.8.20080609.0-fx.xpi(訪問即安裝)

(3)保存佳緣會員信息腳本:http://snsapps.googlecode.com/svn/trunk/JiaYuan.user.js(訪問即安裝)

四、腳本預覽

Greasemonkey腳本都是用JavaScript語言寫的,要想寫出優秀的Greasemonkey應用,你必需熟悉JavaScript編程,了解JavaScript DOM編程,以及會分析HTML代碼結構。如果你想更多地了解Greasemonkey,請閱讀《深入淺出 Greasemonkey》。下面本人把本應用腳本代碼公布如下,希望對大家能起到拋磚引玉的作用。

//?==UserScript==
//
?@name?????????? 保存會員信息
//
?@namespace?????http://www.ucoolweb.com
//
?@description???收集世紀佳緣交友網會員搜索結果頁你喜歡的會員信息,并把它們保存成本地HTML文件,以方便日后查閱。
//
?@include???????http://search.jiayuan.com/result.php*m=1*
//
?==/UserScript==

/**
?*?定義一個類
?
*/
function?clsJiaYuan()
{
????
/**
?????*?定義getElementById快捷方式
?????*?@param?{String}?objId?DOM?ID
?????*?@return?{DOM}
?????
*/
????
var?$?=?function(objId)
????{
????????
return?document.getElementById(objId);
????}
????
????
/**
?????*?定義getElementsByTagName快捷方式
?????*?@param?{String}?tagName?標簽名
?????*?@return?{Array}?DOM?Array
?????
*/
????
var?$$?=?function(tagName)
????{
????????
return?document.getElementsByTagName(tagName);
????}
????
????
/*
?????if?(window.HTMLElement)
?????{
?????HTMLElement.prototype.$=$;
?????HTMLElement.prototype.$$=$$;
?????}
?????
*/
????
????
/**
?????*?按樣式名查找DOM對象
?????*?@param? {String}?className?要查找的樣式名,即標簽的class屬性值
?????*?@param? {String}?tagName?篩選標簽名,可選參數,用于縮小查找范圍
?????*?@return?{Array}?DOM?Array
?????
*/
????
var?getElementsByClassName?=?function(className,?tagName)
????{
????????
var?selector?=?tagName?||?'*';
????????
var?allDom?=?$$(selector);
????????
????????
var?domList?=?[];
????????
for?(var?i?in?allDom)?
????????{
????????????
if?(allDom[i].className?==?className)?
????????????{
????????????????domList[domList.length]?
=?allDom[i];
????????????}
????????}
????????
????????
return?domList;
????}
????
????
/**
?????*?創建每個會員頭像下的復選框
?????
*/
????
var?createCheckBox?=?function()
????{
????????
var?photoBoxs?=?getElementsByClassName('searh_photobox',?'div');
????????
for?(var?a?in?photoBoxs)?
????????{
????????????
var?infoList?=?photoBoxs[a].getElementsByTagName('a');
????????????
//提取會員信息
????????????var?url?=?infoList[0].href;
????????????
var?face?=?infoList[0].getElementsByTagName('img')[0].src;
????????????
var?name?=?infoList[0].getElementsByTagName('img')[0].alt;
????????????
//處理高級會員信息HTML
????????????if?(infoList.length?==?4)?
????????????{
????????????????
var?about?=?infoList[2].innerHTML;
????????????}
????????????
else?
????????????{
????????????????
var?about?=?infoList[3].innerHTML;
????????????}
????????????
//插入復選框HTML
????????????photoBoxs[a].getElementsByTagName('li')[3].innerHTML?=?'<label><input?type="checkbox"?name="love"?value="'?+?url?+?'|'?+?face?+?'|'?+?name?+?'|'?+?about?+?'"?/>收藏</label>< /span>';
????????????
//注冊復選框單擊處理函數
????????????photoBoxs[a].getElementsByTagName('input')[0].addEventListener('click',?jiaYuan.outputHtml,?true);
????????}
????}
????
????
//創建HTML代碼輸出文本域
????var?createTextBox?=?function()
????{
????????
var?loveCodeDom?=?document.createElement('textarea');
????????loveCodeDom.id?
=?'loveCode';
????????loveCodeDom.rows?
=?5;
????????
var?pageBox?=?getElementsByClassName('pageclass',?'div')[1];
????????pageBox.appendChild(loveCodeDom);
????????$(
'loveCode').style.width?=?'640px';
????????$(
'loveCode').style.margin?=?'10px';
????}
????
????
//輸出或更新選擇會員HTML代碼,在單擊復選框時調用
????this.outputHtml?=?function()
????{
????????
var?loveHtml?=?'';
????????
var?loveCheckBoxs?=?document.getElementsByName('love');
????????
for?(var?i?in?loveCheckBoxs)?
????????{
????????????
//只輸出復選框打勾的會員信息
????????????if?(loveCheckBoxs[i].checked)?
????????????{
????????????????
var?infoList?=?loveCheckBoxs[i].value.split('|');
????????????????
var?liHtml?=?'<li><a?href="'?+?infoList[0]?+?'"?target="_blank"><img?src="'?+?infoList[1]?+?'"?/></a><strong>'?+?infoList[2]?+?'</strong><span>'?+?infoList[3]?+?'</span></li>';
????????????????loveHtml?
+=?liHtml;
????????????}
????????}
????????$(
'loveCode').value?=?loveHtml;
????????$(
'loveCode').select();?//讓文本域代碼處于選中狀態,方便快速復制
????}
????
????
//程序初始化公開方法
????this.init?=?function()
????{
????????createCheckBox();
????????createTextBox();
????}
}

//實例化一個類
var?jiaYuan?=?new?clsJiaYuan();
jiaYuan.init();

五、注意事項

1、在安裝Greasemonkey插件到Firefox(火狐)瀏覽器的時候,請選擇安裝與瀏覽器版本對應的Greasemonkey插件。建議下載“增強便攜版” Firefox瀏覽器,這種版本一般集成Greasemonkey插件。下載參考鏈接:http://www.xdowns.com/soft/1/2/2009/Soft_52565.html

2、本文提供腳本可能會隨著佳緣網的改版而失效,因為Greasemonkey腳本的工作是基于目標網站HTML操作的,如果你發現腳本失效請及時給我留言,讓我修正。當然,如果你也會編寫腳本的話,你還可以自己動手修改,修改方法可以參考這里,修改用戶腳本:http://www.firefox.net.cn/dig/helloworld/editing.html

3、據了解現在很多瀏覽器都支持Greasemonkey,比如Chrome、Opera,甚至IE,本腳本并沒有在這些瀏覽器上測試過,如果你發現腳本在其它瀏覽器平臺下有問題,也可以留言告訴我。

4、必須保證Greasemonkey插件處于激活狀態,即瀏覽器右下角的“小猴子”圖標不是灰色的,不然你即使安裝了插件,也會得不到預期的效果。

5、為了獲取更多會員頭像,請登錄并上傳自己的相片,因為有些會員設設置自己的相片只有登錄的會員可見,甚至有些會員設置了有相片的會員才可以看到自己的相片。

轉載于:https://www.cnblogs.com/webflash/archive/2009/10/25/1589615.html

總結

以上是生活随笔為你收集整理的用Greasemonkey脚本收藏网站会员信息到本地的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。