解决常见伪静态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重写,解决不能静态,伪静态

什么是伪静态,url 重写是截取传入web 请求并自动将请求重定向到其他 url

thinkphp部署服务器后出现404错误

动态url静态url和伪静态url的详细讲解

真静态和伪静态的区别