当前位置:   article > 正文

Python实现考试网题目答案解析脚本(网络爬虫)_高职python网络爬虫期末考试题目

高职python网络爬虫期末考试题目

前言

用Python写网络爬虫是比较常用的做法,原理是将网页下载下来后,用正则表达式清洗数据,获取目标资源。可以是文字、图片或其他URL。然后分文别类进行储存。本文只作简易的文本提取。

正文

代码是用Python2.7版本撰写,经测试可以通过。运行结果参看下文。

# -*- coding: UTF-8 -*-
import urllib2
import re

def ppkao_getanwser(questionURL) :
    questionPage = urllib2.urlopen(questionURL).read()
    # 解析题目

    questionTypeURL = re.search('以下试题来自:(.*?)<a target="_blank" href="(.*?)" >(.*?)</a>', questionPage, re.S).group(2)
    questionType = re.search('以下试题来自:(.*?)<a target="_blank" href="(.*?)" >(.*?)</a>', questionPage, re.S).group(3)
    questionTypeID = re.search('ViewAnswers\(\'//(.*?)\',\'(\d+)\'', questionPage, re.S).group(2)
    questionModel = re.search('<i class="tx">(.*?)</i>', questionPage, re.S).group(1)
    questionName = re.search('<strong class="(.*?)">(.*?)</strong>', questionPage, re.S).group(2)
    if questionModel == '简答题' :
        questionItems = []
    else :
       questionItems = re.search('</strong>(.*?)</p>', questionPage, re.S).group(1).replace('<p>', '').replace('\t', '').replace('\r\n', '').replace(',<br />', '<br />').split('<br />')
       #questionItems = re.search('</strong>(.*?)</p>', questionPage, re.S).group(1).replace('<p>', '').replace('\t', '').replace('\r\n', '').strip().replace(',<br />', '<br />').split('<br />')

    # 获取答案
    anwserURL = re.search('ViewAnswers\(\'//(.*?)\',', questionPage, re.S).group(1)
    anwserPage =  urllib2.urlopen('https://' + anwserURL).read()
    if questionModel == '简答题' :
        questionAnwser = re.search('<i class="target">试题答案</i>(.*?)<span>(.*?)<p>(.*?)</p>', anwserPage, re.S).group(3).strip()
    else :
        questionAnwser = re.search('<em class="ture-answer">(.*?)</em>', anwserPage, re.S).group(1).strip()
    # 展示
    print '题库:', questionType
    print '题库标识:', questionTypeID
    print '题库链接:', questionTypeURL
    print '题目链接:', questionURL
    print '题型:', questionModel
    print '题目:', questionName
    print '题干:', ','.join(questionItems)
    print '答案链接:', 'https://' + anwserURL
    print '答案:', questionAnwser
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

测试结果

ppkao_getanwser(“https://www.ppkao.com/tiku/shiti/1594015.html“)
测试结果
ppkao_getanwser(“https://www.ppkao.com/tiku/shiti/1594014.html“)
这里写图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/602285
推荐阅读
相关标签
  

闽ICP备14008679号