python正则匹配查询港澳通行证办理进度示例分享

 更新时间:2013年12月27日 10:39:25   作者:  
分享原创的一段查询港澳通行证办理进度查询的python 3.3代码。利用socket请求相关网站,获得结果后利用正则找出办理进度

复制代码 代码如下:

import socket
import re

'''
广东省公安厅出入境政务服务网护照,通行证办理进度查询。
分析网址格式为 http://www.gdcrj.com/wsyw/tcustomer/tcustomer.do?&method=find&applyid=身份证号码
构造socket请求网页html,利用正则匹配出查询结果
'''
def gethtmlbyidentityid(identityid):
 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 host = 'www.gdcrj.com';
 suburl = '/wsyw/tcustomer/tcustomer.do?&method=find&applyid={0}'
 port = 80;

 remote_ip = socket.gethostbyname(host)
 s.connect((remote_ip , port))

 print('【INFO】:socket连接成功')

 message = 'GET '+ suburl.format(identityid) +' HTTP/1.1\r\nHost: '+ host +'\r\n\r\n'

 # str 2 bytes
 m_bytes = message.encode('utf-8')

 # send bytes
 s.sendall(m_bytes)

 print('【INFO】:远程下载中...')

 recevstr = ''
 while True:
  # return bytes
  recev = s.recv(4096)
  # bytes 2 str
  recevstr += recev.decode(encoding = 'utf-8', errors = 'ignore')
  if not recev:
   s.close()
   print('【INFO】:远程下载网页完成')
   break
 return recevstr

'''
利用正则表达式从上步获取的网页html内容里找出查询结果
'''
def getresultfromhtml(htmlstr):
 linebreaks = re.compile(r'\n\s*')
 space = re.compile('( )+')
 resultReg = re.compile(r'\<td class="news_font"\>([^<td]+)\</td\>', re.MULTILINE)

 #去除换行符和空格
 htmlstr = linebreaks.sub('', htmlstr)
 htmlstr = space.sub(' ', htmlstr)

 #匹配出查询结果
 result = resultReg.findall(htmlstr)
 for res in result:
  print(res.strip())

if __name__ == '__main__':
 identityid = input('输入您的身份证号码(仅限广东省居民查询):')
 try:
  identityid = int(identityid)
  print('【INFO】:开始查询')
  html = gethtmlbyidentityid(identityid)
  getresultfromhtml(html)
  print('【INFO】:查询成功')
 except:
  print('【WARN】:输入非法')

 input('【INFO】:按任意键退出')

相关文章

  • Python数据清洗之利用pandas筛选数据详解

    Python数据清洗之利用pandas筛选数据详解

    这篇文章主要介绍了Python数据清洗之利用pandas筛选数据详解,Pandas是一个用于数据分析和处理的Python库,它提供了高效的数据结构和数据分析工具,使得数据的清洗、转换、分析和可视化变得更加容易和灵活,需要的朋友可以参考下
    2023-08-08
  • python实现倒计时小工具

    python实现倒计时小工具

    这篇文章主要为大家详细介绍了python实现倒计时小工具,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python字符串的一些操作方法总结

    Python字符串的一些操作方法总结

    在本文里小编给大家整理了关于Python字符串的一些操作方法和相关要点总结,有需要的朋友们可以学习下。
    2019-06-06
  • 解读dataframe中有关inf的处理技巧

    解读dataframe中有关inf的处理技巧

    这篇文章主要介绍了解读dataframe中有关inf的处理技巧,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python SMTP配置参数并发送邮件

    Python SMTP配置参数并发送邮件

    这篇文章主要介绍了Python SMTP配置参数并发送邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python中列出目录中的文件的五种方法小结

    Python中列出目录中的文件的五种方法小结

    本文主要介绍了Python中列出目录中的文件的五种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 在Python中增加和插入元素的示例

    在Python中增加和插入元素的示例

    今天小编就为大家分享一篇在Python中增加和插入元素的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python+Pygame实现经典魂斗罗游戏

    Python+Pygame实现经典魂斗罗游戏

    《魂斗罗》(Contra)是由Konami于1987年推出的一系列卷轴射击类单机游戏。本文将利用Python中的Pygame库实现这一经典游戏,感兴趣的可以了解一下
    2022-05-05
  • PyTorch 如何将CIFAR100数据按类标归类保存

    PyTorch 如何将CIFAR100数据按类标归类保存

    这篇文章主要介绍了PyTorch 将CIFAR100数据按类标归类保存的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • 一行Python代码实现为图片上版权

    一行Python代码实现为图片上版权

    不知道大家会不会遇到这样的情况,自己辛辛苦苦整理的攻略,分享给自己的一些朋友,结果分享有人堂而皇之地拿着这份攻略图片去引流,并声称是自己整理的,真是岂有此理!本文就来用Python实现为图片上版权,需要的可以参考一下
    2023-01-01

最新评论