用以后可以处理的greasemonkey存储或login数据
我正在忙于一个网站,我想写一个logging所有数据,或者至less某些位置的greasemonkey脚本,并保存在一个文件中,这将是excell的interperatable。 那可能吗? 说例如我拿这个数据片段:
{"d":[["","","y","ZAR","1","49517","6458, 8270, 8270, 8270, 7635",null,"1.40","6458","0:13:30","","12","","C","30",null],["y","-00:00","y","ZAR","2","49593","6458, 6458, 6458, 6458, 6458",null,"2.92","6458","0:13:37","","12","","L","12","Ve4mYdrvkkQMKxBH1\/1VMtDTCDQBRspg5jB8jjY08zg="],["","","y","ZAR","3","49058","7456, 9216, 6458, 5153, 7456",null,"194.40","7456","0:00:31","","1100","","T",null,null],["","","y","ZAR","4","49597","2935, 6554",null,"1.22","2935","0:01:16","","12","","T",null,null],["","","y","ZAR","5","49590","4440, 0518, 5343, 2625, 4848",null,"0.95","4440","0:15:58","","5","","L",null,null],["","","y","ZAR","6","49591","4848, 4440, 4440, 0518, 2625",null,"1.81","4848","0:16:05","","12","","L",null,null],["","","y","ZAR","7","49595","6458",null,"5.55","6458","0:04:13","","55","","T",null,null],["","","y","ZAR","8","49596","",null,"2.90","NONE","0:04:35","","29","","T",null,null],["","","y","ZAR","9","49496","6458, 2427, 2427, 7863, 5845",null,"2.56","6458","0:06:07","","10","","B",null,null],["","","y","ZAR","10","49524","6458, 2427, 7863, 7863, 5845",null,"1.67","6458","0:06:00","","5","","B",null,null],["","","y","ZAR","11","49539","6458, 2427, 7863, 7863, 0764",null,"2.02","6458","0:04:25","","10","","B",null,null]]}
,把它读成一个二维数组,这是Brock Adams帮助我的。
var myJson = '{"d":[["","","y","ZAR","1","49517","6458, 8270, 8270, 8270, 7635",null,"1.40","6458","0:13:30","","12","","C","30",null],["y","-00:00","y","ZAR","2","49593","6458, 6458, 6458, 6458, 6458",null,"2.92","6458","0:13:37","","12","","L","12","Ve4mYdrvkkQMKxBH1\/1VMtDTCDQBRspg5jB8jjY08zg="],["","","y","ZAR","3","49058","7456, 9216, 6458, 5153, 7456",null,"194.40","7456","0:00:31","","1100","","T",null,null],["","","y","ZAR","4","49597","2935, 6554",null,"1.22","2935","0:01:16","","12","","T",null,null],["","","y","ZAR","5","49590","4440, 0518, 5343, 2625, 4848",null,"0.95","4440","0:15:58","","5","","L",null,null],["","","y","ZAR","6","49591","4848, 4440, 4440, 0518, 2625",null,"1.81","4848","0:16:05","","12","","L",null,null],["","","y","ZAR","7","49595","6458",null,"5.55","6458","0:04:13","","55","","T",null,null],["","","y","ZAR","8","49596","",null,"2.90","NONE","0:04:35","","29","","T",null,null],["","","y","ZAR","9","49496","6458, 2427, 2427, 7863, 5845",null,"2.56","6458","0:06:07","","10","","B",null,null],["","","y","ZAR","10","49524","6458, 2427, 7863, 7863, 5845",null,"1.67","6458","0:06:00","","5","","B",null,null],["","","y","ZAR","11","49539","6458, 2427, 7863, 7863, 0764",null,"2.02","6458","0:04:25","","10","","B",null,null]]}' var jsonObj = $.parseJSON (myJson); //--- The JSON should return a 2-D array, named "d". var arrayOfAuctions = jsonObj.d; //--- Loop over each row in the array. $.each ( arrayOfAuctions, function (rowIndex, singleAuctionData) { //--- Print the 7th column. console.log ('Row: ' + (parseInt (rowIndex) + 1) + ' Column: 7 Value: ' + singleAuctionData[6]); } );
现在我想把这个数组的数据写入一个文件中,以后我可以在excell中打开并浏览它。 通过使用GM_setValue,可以完成吗? 最简单的方法是怎么继续呢?
谢谢。
Greasemonkey不能写入文件,使用GM_setValue
或本地存储将是一个痛苦进入一个文件。 无论如何,您不想使用GM_setValue
存储非常多的值,因为这些值存储在浏览器首选项中。
你提到了一个远程服务器。
是的,GM可以将数据发送到远程服务器(如果运行的是XAMPP之类的话,甚至是本地机器)。 再多做一些工作,您也可以将数据发送给Google文档或类似的文档。
目前还不清楚你想发送什么数据(假设你不只是发送整个arrayOfAuctions
)。
所以说,你已经分析了数据,并确定你想要这些列:
柱 索引含义/目的 -------- -------------------------------- 4拍卖显示号码 5拍卖编号 8当前价格 9高出价者ID 10剩余时间 12到???
那么你可以像这样隔离感兴趣的数据:
//--- Start custom, 2-D array. var myAuctionData = [ [ 'DisplayNumber', 'AuctionID', 'CurrentPrice', 'HighbidderID', 'TimeRemaining', 'Upto' ] ]; //--- Loop over each row in the array, storing desired data. $.each ( arrayOfAuctions, function (rowIndex, singleAuctionData) { myAuctionData.push ( [ singleAuctionData[4], singleAuctionData[5], singleAuctionData[8], singleAuctionData[9], singleAuctionData[10], singleAuctionData[12] ] ); } );
并将其发送到您的服务器,如下所示:
SerializedAuctionData = JSON.stringify (myAuctionData); GM_xmlhttpRequest ( { method: "POST", url: "http://localhost/YourDir/LogAuctionData.php", data: SerializedAuctionData, headers: {"Content-Type": "application/json"} } );
服务器可以使用任何您熟悉的技术。
如果它是一个PHP页面,它可以像这样提取JSON数据:
$AuctionData = json_decode($HTTP_RAW_POST_DATA); print_r ($AuctionData);
服务器页面可以编写一个csv或xls文件,但是由于大量的数据将被发布,每秒一次,使用mySQL数据库可能会更聪明。