function collect(){
// 内容元素
const content = document.querySelector('.content')
// 题目正则
const regexp = /\d+、(【..题】.*?)\n([\s\S]+?)参考答案:([A-Z]+)/
// 选项正则
const optionsRegExp = /[A-Z]{1}[^A-Za-z0-9\u4e00-\u9fa5]{1}(.+)/
// 多选分隔符
const seperator = "#"
// 开始爬取
const res = content.innerText.match(RegExp(regexp,'g')).map((text)=>{
// 题目内容
const item = text.match(regexp)
// 选项内容
const opts = item[2].match(RegExp(optionsRegExp,'g'))
const answers = []
for(let word of item[3]){
if(/[A-Z]/.test(word)){
//(多/单)选题
answers.push(opts[word.charCodeAt(0) - 65].match(optionsRegExp)?.[1])
}else{
// 其他字符 : √,×,或者纯文本
answers = [word];
break
}
}
return `${item[1].trim()}\t${answers.join(seperator).trim()}\n`
})
return res.join("")
}
题目爬取 js
最新推荐文章于 2024-05-06 18:26:11 发布