b站評論爬取
阿新 • • 發佈:2018-12-27
lse max round temp reply ajax ons ksum {}
var userData = {}; var startPage = 0; var endPage = 0; var startTime = ""; var endTime = ""; var pickSum = 0; var dateItem = new Date(); function StartDraw(_startPage, _endPage, _startTime, _endTime, _pickSum) { startPage = _startPage; endPage = _endPage; startTime = _startTime; endTime = _endTime; pickSum = _pickSum; GetUserData(); } function GetUserData() { GetOneData(startPage, endPage); } function callback(data) { } function GetOneData(page, maxPage) { urlLocationParams = window.location.pathname.split("/"); avID = urlLocationParams[urlLocationParams.length - 1].split("av")[1]; var url = "https://api.bilibili.com/x/v2/reply?callback=callback&jsonp=jsonp&pn=" + page + "&type=1&oid=" + avID + "&sort=0&_=" + dateItem.getTime(); $.ajax({ url: url, type: ‘get‘, dataType: ‘jsonp‘, jsonpCallback: ‘callback‘, success: function (data) { console.log(data); for (var j = 0; j < data.data.replies.length; j++) { var reply = data.data.replies[j]; if (reply.ctime >= get_unix_time_stamp(startTime) && reply.ctime < get_unix_time_stamp(endTime)) { userData[reply.mid] = {}; userData[reply.mid].uid = reply.mid; userData[reply.mid].floor = reply.floor; userData[reply.mid].name = reply.member.uname; userData[reply.mid].content = reply.content.message; } } page += 1; if (page <= maxPage) { GetOneData(page, maxPage) } else { PickUser(); } } }); } function PickUser() { userList = []; for (var user in userData) { userList.push(user); } shuffle(userList); for (var i = 0; i < pickSum; i++) { console.log(userData[userList[i]]) } } function get_unix_time_stamp(strtime) { if (strtime) { var date = new Date(strtime); } else { var date = new Date(); } time = date.getTime() / 1000; return time; } function shuffle(array) { length = array.length; for (var index = 0; index < array.length; index++) { var temp = array[index]; var changeIndex = RandomNumBoth(0, length - 1); array[index] = array[changeIndex]; array[changeIndex] = temp; } } function RandomNumBoth(Min,Max){ var Range = Max - Min; var Rand = Math.random(); var num = Min + Math.round(Rand * Range); return num; }
b站評論爬取