- Coppy nội dung file lay-diem-thi.js
- Vào trang web cần ấy điểm
- Bấm f12 vào tab console paste đoạn js vào sau đó thay đổi giá trị biến
sbd
. với mỗi mảng con trong biến này tương ứngmin
vàmax
của 1 khoảng số báo danh - Enter chờ quét xong sẽ tự lưu file dạng json.
Last active
June 19, 2019 07:06
-
-
Save kenzouno1/6033c493b9489327130363f660b309a2 to your computer and use it in GitHub Desktop.
#1 Lấy điểm thi THPT các trang web *.edu.vn
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!function(e){e.save=function(o,n){if(o){n||(n="console.json"),"object"==typeof o&&(o=JSON.stringify(o,void 0,4));var t=new Blob([o],{type:"text/json"}),a=document.createEvent("MouseEvents"),s=document.createElement("a");s.download=n,s.href=window.URL.createObjectURL(t),s.dataset.downloadurl=["text/json",s.download,s.href].join(":"),a.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),s.dispatchEvent(a)}else e.error("Console.save: No data")}}(console); | |
var sbd = [[230001,230020],[240001,240020]]; | |
var idYear = $('#list-scoreTable12 .item-exam.active2 a').data('id'); | |
var sitename = window.location.hostname; | |
var moduleId = $("#box-search-dataset input[name=moduleId]").val(); | |
var submitFormId = $("#box-search-dataset input[name=submitFormId]").val(); | |
var securityToken = $("#box-search-dataset input[name=securityToken]").val(); | |
var siteId = $("input[name=site]").val(); | |
var data = []; | |
const getData = async(id,max,save=false)=> { | |
var f = await fetch( | |
`http://${sitename}/?module=Content.Listing&moduleId=${moduleId}&cmd=redraw&site=${siteId}&securityToken=${securityToken}&url_mode=rewrite&submitFormId=${submitFormId}&moduleId=${moduleId}&page=&site=${siteId}`, { | |
credentials: "include", | |
headers: { | |
accept: "*/*", | |
"accept-language": "vi,en;q=0.9,vi-VN;q=0.8,en-US;q=0.7", | |
"cache-control": "no-cache", | |
"content-type": "application/x-www-form-urlencoded; charset=UTF-8", | |
pragma: "no-cache", | |
"x-requested-with": "XMLHttpRequest" | |
}, | |
referrer: `http://${sitename}/tra-cuu/bang-diem`, | |
referrerPolicy: "no-referrer-when-downgrade", | |
body: `layout=Decl.DataSet.Detail.default&itemsPerPage=8&pageNo=1&service=Content.Decl.DataSet.Grouping.select&itemId=${idYear}&gridModuleParentId=11&type=Decl.DataSet&page=&modulePosition=0&moduleParentId=-1&orderBy=&unRegex=&keyword=` + | |
id + | |
"", | |
method: "POST", | |
mode: "cors" | |
} | |
); | |
var res = await f.text(); | |
if (res.includes("Có 1 bản ghi.")) { | |
var html = $.parseHTML(res); | |
var obj = {}; | |
$(html) | |
.find("tbody td") | |
.each(function(index, item) { | |
obj[getKey(index)] = $(this) | |
.text() | |
.replace(/\n/g, "") | |
.trim(); | |
}); | |
data.push(obj); | |
console.log("đã lấy " + data.length + " bản ghi"); | |
} | |
if (id < max) { | |
getData(id + 1,max,save); | |
} else { | |
console.save(data.sort((a,b)=>{ | |
if ( a.SBD < b.SBD ){ | |
return -1; | |
} | |
if ( a.SBD > b.SBD ){ | |
return 1; | |
} | |
return 0; | |
}), `${sitename.replace(".","-")}.json`); | |
}; | |
} | |
function getKey(index) { | |
switch (index) { | |
case 0: | |
return "SBD"; | |
case 1: | |
return "Họ và tên"; | |
case 2: | |
return "Ngày sinh"; | |
case 3: | |
return "Trường"; | |
case 4: | |
return "Điểm môn Ngữ văn"; | |
case 5: | |
return "Điểm môn Toán"; | |
case 6: | |
return "Điểm môn Tổ Hợp"; | |
case 7: | |
return "Tổng"; | |
} | |
} | |
sbd.map((item,index)=>{ | |
const save =index == (sbd.length-1); | |
getData(item[0],item[1],save); | |
}); |
Giá trịn min, max thay đổi tuỳ thuộc vào gì ạ, khi xuất ra file json thì làm sao để chuyển thành excel ạ?
vì ko biết rõ có bao nhiêu số báo danh nên mình để min,max nếu ai biết được khoảng số báo danh của tỉnh. Khoảng cách giữa min và max càng nhỏ càng tốt
@nguyenphuc241 bạn có thể dùng thư viện https://github.com/SheetJS/js-xlsx để convert json sang excel nhé.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Giá trịn min, max thay đổi tuỳ thuộc vào gì ạ, khi xuất ra file json thì làm sao để chuyển thành excel ạ?