先贴出代码,行数比较少,仅仅用正则表达式分析出题目Title所在的标签并把题目Title提取出来

 import urllib.request
import re
import dbm
#定义URL,其中%d用于替换页码
url = 'http://acm.zju.edu.cn/onlinejudge/showProblems.do?contestId=1&pageNumber=%d'
#连接持久化字典,这里用创建的方法'c'来创建写入
db = dbm.open('zoj_list', 'c') for index in range(1, 30):
this_url = url % (index)#替换URL中代表页码的数字
html = urllib.request.urlopen(this_url).read()#read方法读取页面HTML
html = html.decode('utf-8')#UTF-8编码,没有这句会提示错误
title = re.compile('<font color="blue">.*</font>')#正则之,编译之
key = ''
cnt = 1
for x in title.findall(html):
title_parse = re.compile('<[^>]+>')#除去标签的正则
get = title_parse.sub('', x)#除去标签
if cnt % 2 == 0:
value = get
db[key] = value
else:
key = get
cnt += 1

这个把key和value通过字典保存到了'zoj_list'这个持久化字典中。
读取这个字典的代码如下:

 import dbm
db = dbm.open('zoj_list', 'r')
print(db[''])
for index in range(1001, 2000):
in_ch = str(index)
print(db[in_ch])

利用Python获取ZOJ所有题目的名字的更多相关文章

  1. 利用Python获取统计自己的qq群成员信息

    利用python获取自己的qq群成员信息! 首先说明一下需要使用的工具以及技术:python3 + selenium selenium安装方法:pip install selenium 前提:获取自己 ...

  2. 利用python获取自己的qq群成员信息

    利用python获取自己的qq群成员信息! 首先说明一下需要使用的工具以及技术:python3 + selenium selenium安装方法:pip install selenium 前提:获取自己 ...

  3. 有关利用python获取网页, 以及KDD近几年论文标题与摘要链接

    最近一直在看KDD的论文,不过,由于老师并没有什么合理的方向性,所以考虑把kdd中的大部分内容都利用python将所有标题.摘要获取下来. 还有一个原因在于,看acm上的摘要,都只显示了两行,再看多点 ...

  4. 利用python获取nginx服务的ip以及流量统计信息

    #!/usr/bin/python #coding=utf8 log_file = "/usr/local/nginx/logs/access.log" with open(log ...

  5. 利用Python获取cookie的方法,相比java代码简便不少

    1.通过urllib库,是python的标准库,不需要另外引入,直接看代码,注意代码的缩进: # coding=UTF-8import cookielibimport urllib2 class Ry ...

  6. 利用python 获取 windows 组策略

    工作中有时候会有这种需求: 1. 自动配置组策略的安全基线,这个东西不用你自己写了,微软有这个工具,Microsoft Security Compliance Manager,你可以在下面的地址去下载 ...

  7. Python:爬虫之利用Python获取指定网址上的所有图片—Jaosn niu

    # coding=gbk import urllib.request import re import os import urllib def getHtml(url): #指定网址获取函数 pag ...

  8. 利用Python获取文件类型

    这里选择使用使用filetype获取文件的类型. 使用filetype之前,先用pip安装filetype. #!/usr/bin/python3 import filetype import arg ...

  9. python获取当前运行程序的名字

    import os filename = os.path.abspath(__file__) print filename 打印结果: E:\bluedon\test.py

随机推荐

  1. IPHONE 字体加粗

    UIFONT 没有字体加精参数,但可以修发,字体名,达到加粗的效果正常:Helvetica加粗"Helvetica-Bold""TimesNewRomanPS-BoldM ...

  2. 1. Hello UWP

    1. UWP UWP,Universal Windows Platform,也就是 Windows 10 新推出的通用平台应用,只要一次编码,即可运行在 Windows 10 电脑以及手机上,甚至可以 ...

  3. Centos更新yum packet源

    在使用Centos时,常常会遇到使用yum安装某些系统依赖包,特别是第三方软件库(如openstack软件库)时,无法找到包源.因此,需要将Centos的yum源进行更新,扩展,以便可以通过yum的方 ...

  4. 解决phpcms图片太大撑破表格图片自适应图片按比例缩小

    img,a img{ border:0; margin:0; padding:0; max-width:590px; width:expression(this.width590?590px:this ...

  5. CSS设计之页面滚动条出现时防止页面跳动的方法

    一.水平居中布局与滚动条跳动的千年难题 当前web届,绝大多数的页面间布局都是水平居中布局,主体定个宽度,然后margin: 0 auto的节奏~ 例如,大淘宝的首页: 然而,这种布局有一个存在一个影 ...

  6. IOS绘图——简单三角形

    #import <UIKit/UIKit.h> @interface MyView : UIView @end #import "MyView.h" @implemen ...

  7. Storm入门学习随记

    推荐慕课网视频:http://www.imooc.com/video/10055 ====Storm的起源. Storm是开源的.分布式.流式计算系统 什么是分布式呢?就是将一个任务拆解给多个计算机去 ...

  8. 第六章 类型(class)和成员基础

    1. 概述 本章讲述如何在一个类型中定义不同种类的成员. 2. 名词解释 3. 主要内容 3.1 类型的各种成员 在一个类型中,可以定义0个或多个以下种类的成员: ① 常量:常量就是指出数据值恒定不变 ...

  9. SQL语句基础之 单表查找

    Sql语句之 单表查询 一.一般查询 1.查看表中的所有记录 以及 所有字段(属性) 语句 : select * from student; 2.只查看某些字段 语句:select sname,sex ...

  10. java路径问题总结

    平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下[一 相对路径的获得] 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) St ...