python提取身份证信息_Python3 简单抓取身份证地址信息
爬取接口 Ip138.com
def getInfo(idCard):
con = http.client.HTTPConnection("qq.ip138.com", 80)
con.request("GET", "/idsearch/index.asp?action=idcard&userid=" + idCard + "&B1=%B2%E9+%D1%AF")
rpons = con.getresponse()
resultText = rpons.read().decode("Gb2312")
rsgx = r'align="right">部分或全部現為:(.*?)
reseach = re.split(rsgx, resultText, 0)
area = ""
if (reseach.__len__() >= 2):
area = reseach[1].replace(" ", "")
else:
rsgx = r'valign="top" align="right">發?證?地:(.*?)
reseach = re.split(rsgx, resultText, 0)
if (reseach.__len__() >= 2):
area = reseach[1].replace(" ", "")
return area
###檢測指定的身份證號是否存在#############
def getReidsExit(filed):
redisClient = redis.StrictRedis(host='192.168.12.243', port=6379, password='fuyinhy123', db=0)
rs = redisClient.hexists("sys_card_area_map", filed)
return rs
###生成sql腳本文件 用于更新到線上數據庫
def createSQl(fileName):
createTime = time.strftime("%Y%m%d%H%M%S", time.localtime())
filepath = os.getcwd() + "/" + fileName
fileOutPath = os.getcwd() + "/sql-" + createTime + ".txt"
file = open(file=filepath, mode='r', encoding="utf-8")
fileOut = open(file=fileOutPath, mode='w', encoding="utf-8")
lines = file.readlines()
for line in lines:
idcard = line.replace("\n", "")
idcard6 = idcard[0:6]
if (not getReidsExit(idcard6)):
areaw = getInfo(idcard)
print(idcard + "----" + areaw)
fileData = "insert into arc_sys_card_area(card_id,card_area) VALUES('" + idcard6 + "','" + areaw + "');"
print(fileData)
fileOut.write(fileData + "\n")
fileOut.close()
file.close()
####匹配數據 ########文本分割使用##############################
def createIdCardInfo(fileName):
createTime = time.strftime("%Y%m%d%H%M%S", time.localtime())
filepath = os.getcwd() + "/" + fileName
fileOutPath = os.getcwd() + "/cardinfoarea-" + createTime + ".txt"
file = open(file=filepath, mode='r', encoding="utf-8")
fileOut = open(file=fileOutPath, mode='w', encoding="utf-8")
lines = file.readlines()
for line in lines:
idcard = line.replace("\n", "")
datas = idcard.split()
if (len(datas) >= 3):
idNoCard = datas[2]
idcard6 = idNoCard[0:6]
areaw = getInfo(idNoCard)
print(idcard + "\t" + areaw)
fileData = idcard + "\t" + areaw
fileOut.write(fileData + "\n")
else:
print("erro data")
fileOut.close()
file.close()
##############################################啟動########################################
if __name__ == "__main__":
params = sys.argv
if (params[1] == "-sql"):
createSQl(params[2])
elif (params[1] == "-card"):
createIdCardInfo(params[2])
else:
print("==========Help=============")
print("-sql create sql scripy file")
print("-card create cardInfo File")
總結
以上是生活随笔為你收集整理的python提取身份证信息_Python3 简单抓取身份证地址信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用友套打的打印机型号
- 下一篇: 计算机毕业设计ssm高校选课系统uu27