首页 > 代码库 > 解决常见伪静态url去重
解决常见伪静态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去重
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。