解决常见伪静态url去重
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决常见伪静态url去重相关的知识,希望对你有一定的参考价值。
常见的伪静态链接:
1、http://xue.zbj.com/live/livecollege/list/237
解决方法,以 / 分割参数,生成list,用一次pop之后(比较倒数第二个参数是否相同),以此递进
1 #url形式为http:// 开头 2 for i in ulist: 3 line = i.split(‘/‘)[3:] 4 if len(line) > 0: 5 line.pop() # 一次pop 比较 除倒数第一个参数外,其余参数是否相同,以 / 分割 6 key = set(line) 7 if key <= param1: 8 continue 9 else: 10 param1 = param1.union(key) 11 links.append(i)
2、url中带有日期 2017-03-27或者2017/03/27 ,用 {int}替换,避免造成干扰
if re.search(r"\d{4}\/\d{1,2}\/\d{1,2}|\d{4}-\d{1,2}-\d{1,2}", i):
m = re.sub("\d{4}\/\d{1,2}\/\d{1,2}|\d{4}-\d{1,2}-\d{1,2}", ‘{int}‘, i)
if m in line_date:
continue
else:
line_date.append(m)
3、英文单词和数字夹杂在一起,同时数字的变化 影响查询结果,故针对数字过滤
elif re.match(r‘\d+‘, i): # 默认url中数字出现次数相同的,去重
n = re.findall(r‘\d+‘, i)
if len(n) in params:
continue
else:
params.append(len(n))
伪静态链接的情况多种多样,遇到一种情况,可以针对性的解决
代码详情:github
以上是关于解决常见伪静态url去重的主要内容,如果未能解决你的问题,请参考以下文章
url重写—适用html为伪静态后真实的html无法访问的解决方法
emlog在iis7的环境下设置url重写,解决不能静态,伪静态