九度题库(全部题目整理,适合计算机考研和面试的人用)

原本搜一道面试题,找到叫九度题库的地方,发现里面的题目都比较基础,很适合当面试题来练习。php

因而,闲得蛋疼,把全部题目给爬下来了,并整理成markdown格式,而后export成pdf,方便你们离线阅读。html

写下抓下来的方法:python

一、把列表页先wget下,而后抽取连接(用grep处理就行了,如cat problemset* | grep 'problem.php?pid=' | egrep -v 'obj'> urls.txt)面试

二、而后...(毫无技术可言,纯属娱乐)markdown

# -*- coding:utf-8 -*-
import sys
import os
down_cnt = 0
for line in file(sys.argv[1]) :
    try:
        down_cnt += 1
        idx = line.find('problem')
        idx_a = line.find('</a')
        url = 'http://ac.jobdu.com/'+line[idx:idx+20]
        p_name = ('%04d_' % down_cnt) + line[idx+22:idx_a] + '.html'
        p_name = p_name.replace(' ','_')
        print p_name, url
        os.system('wget %s -O %s' % (url, p_name))

        total_lines = len(file(p_name).readlines())
        filter_text = '"dd|dt|dl"'
        print '*' * 20, total_lines
        content = os.popen('sed -n "132, %dp" %s | egrep -v %s ' % (total_lines-20, p_name, filter_text,))
        fout = file(p_name[:-5] + '.md', 'w')
        for l in content :
            l = l.strip()
            if (len(l) < 1) :continue
            l = l.replace('题目1','###题目1').replace('<b>','####').replace('</b>','####').replace('<div>','').replace('</div>','').replace('<o:p>','').replace('</o:p>','')
            fout.write(l)
            fout.write('\n')
        fout.close()
        print 'No.%5d, %s done.' % (down_cnt, p_name[:-5] + '.md')
    except :
        print 'error'

三、pdf下载(有些文字不全,还请见谅):九都题库url

相关文章
相关标签/搜索