题目爬取 js

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("")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,题库的过程需要先确定要的网站,以及该网站的页面结构和数据格式。这里以某个在线题库(例如:https://www.xxx.com)的选择题为例。 然后,我们可以使用 Python 的 requests 库和 BeautifulSoup 库来实现虫: ```python import requests from bs4 import BeautifulSoup url = "https://www.xxx.com/xxx" # 题目列表页面的 URL response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 获所有题目的链接 links = [] for a in soup.find_all('a', href=True): if '题目' in a['href']: links.append(a['href']) # 遍历所有题目的链接,获题目和答案 for link in links: response = requests.get(link) soup = BeautifulSoup(response.text, 'html.parser') # 获题目和选项 question = soup.find('div', {'class': 'question'}).text.strip() options = [] for label in soup.find_all('label'): option = label['for'] text = label.text.strip() options.append((option, text)) # 获答案 answer = soup.find('div', {'class': 'answer'}).text.strip() # 打印结果 print('Question:', question) for option in options: print(option[0], option[1]) print('Answer:', answer) ``` 在这段代码中,我们首先通过 requests 库获题目列表页面的 HTML 代码,然后使用 BeautifulSoup 库解析 HTML 代码。接着,我们通过遍历页面中所有链接的方式获所有题目的链接。对于每个题目的链接,我们再次使用 requests 和 BeautifulSoup 库获题目的 HTML 代码,并从中提题目、选项和答案。最后,我们将结果打印出来。 需要注意的是,该代码仅供学习和参考,具体实现需要根据所的网站的页面结构和数据格式进行调整。此外,题库需要注意遵守相关法律法规和网站的规定,不得进行商业用途和侵犯他人权益的行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值