最近的工作一直是在测试中度过,还有很多别的事,下午的测试中发现了之前项目中的代码有的已经失效了或者说工作的没有那么好了,不知道是什么缘故,这里没有太多的时间去纠结,想着重新找一个正则表达式替换一下行了,结果在网上搜索的时候居然查了好多的资料看了很多的博客也没有看到有关提取页面ICP编号的相关内容,这里就索性再写一个,在这里重写了一个项目中的小函数,功能是提取页面html中的ICP编码,后做后续的处理,这里就不多说了,也很简单,只是使用了一下python的神奇的re模块做了一下匹配,下面是代码:
#!/usr/bin/env python
# coding: utf-8
import re
import urllib
'''
功能:提取页面html中的ICP编号和页面编码方式
Author:Qishuihancheng
'''
def icp_match(url='http://www.baidu.com'):
html = urllib.urlopen(url).read()
compile_rule = re.compile(r'([\u4e00-\u9fa5]?ICP证[\d]+|[\u4e00-\u9fa5]?ICP备[\d]+)', re.I)
compile_list = re.findall(compile_rule, html)
compile_rule1 = re.compile('(?i).*charset\\s*=\\s*([^\\s]+)')
compile_list1 = re.findall(compile_rule1, html)
print '编码方式为————>', compile_list1
for line in compile_list:
print line
print '网页ICP编号为------>', compile_list
icp_match()
icp_match(url='http://www.mi.com')
下面是结果:
编码方式为————> ['utf-8">']
ICP证030173
网页ICP编号为------> ['ICP\xe8\xaf\x81030173']
编码方式为————> ['"UTF-8"']
ICP证110507
ICP备10046444
网页ICP编号为------> ['ICP\xe8\xaf\x81110507', 'ICP\xe5\xa4\x8710046444']
很粗糙的实现了一下,在往主函数里面放的时候做一下调整和优化就可以了,这个可能也会有问题,毕竟正则表达式我用的也不是很熟练,在这里欢迎大家交流。