`

url传参去重

阅读更多

今天遇到一个这样的问题,有一个带参数的url例如:http://www.songchong.comname=songchong&age=24&hometown=hebei&name=songchong&height=180

我们可以看到里面”name=songchong“传个两次,重复了,需要用一段js代码把重复的内容去掉。

这里说一下我的思路,我首先想到了截取字符串和查找字符,但是失败了,原因是indexOf()方法只能返回字符首次出现在字符串中的位置,可是每个参数之间都是用”&“隔开的,这就导致了无法截取。

最后先遍历字符串找出所有”&“的位置,然后截取字符串,拼接字符串,完成任务。

下面是我的代码:

 

 

<script>
    var url = "http://www.songchong.com?name=songchong&age=24&hometown=hebei&name=songchong&height=180";
    var new_url = "";
    var new_name_and_value = [];
    var where_i = [];
    var name_and_value = [];
    for(var i=0;i<url.length;i++){
        if(url.substring(i-1,i) == "&"||url.substring(i-1,i) == "?"){
            where_i.push(i)
        }
    }
    name_and_value.push(url.substring(where_i[where_i.length-1],url.length));
    for(var j=0;j<where_i.length-1;j++){

    name_and_value.push(url.substring(where_i[j],where_i[j+1]-1))
}
    name_and_value.forEach(function(data){
        if(new_name_and_value.indexOf(data) == -1){
            new_name_and_value.push(data)
        }
    });
    new_url = url.substring(0,where_i[0]);
    new_name_and_value.forEach(function(value){
        new_url = new_url+value+"&"
    });
    new_url = new_url.substring(0,new_url.length-1);
    console.log(new_url)
</script>

 

分享到:
评论

相关推荐

    分布式爬虫系统中URL去重的设计与实现.pdf

    中心主机可以接收本地主机的URL去重结果,然后将去重后的URL分发给其他主机,确保整个分布式网络内各节点间的URL去重一致性。 为了实现URL去重,分布式爬虫系统中的每个节点需要实现如下功能: - URL抓取:爬虫从...

    url地址传参中文乱码处理

    "URL地址传参中文乱码处理" URL地址传参中文乱码处理是指在Web应用程序中,将中文参数传递给服务器时,可能出现乱码的情况。这种情况可能是由于编码问题或Tomcat服务器的配置问题引起的。 在处理URL地址传参中文...

    微信小程序url传参写变量的方法

    总结来说,微信小程序中的URL传参写变量方法是一种简单且高效的数据传递方式。通过合理使用这一机制,开发者可以构建出动态且响应式的用户界面,提升小程序的用户体验和交互能力。不过,开发者在使用时还需要注意...

    大量url去重 bloomfilter算法 c实现

    基于bloomfilter算法的c语言实验的url去重。使用的时候被去重的文件需要是txt格式的。

    JSP struts2 url传参中文乱码解决办法.docx

    在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...

    URL传参加密

    URL传递参数的一种加密方法,让您的参数不在明文传输

    j2ee13:jsp02,request对象,中文乱码处理,url传参

    总之,`request`对象在J2EE开发中扮演着核心角色,处理中文乱码和URL传参是日常工作中常遇到的问题。了解和掌握这些知识点,将使你在Web开发中更加得心应手。通过不断的实践和学习,你将能够更好地应对各种复杂情况...

    45丨位图:如何实现网页爬虫中的URL去重功能?1

    网页爬虫在抓取网页的过程中,为了避免重复抓取同一个网页,需要实现URL去重功能。最直观的方法是记录已爬取的URL,并在抓取新页面前检查该URL是否已经在记录列表中。对于大规模的URL处理,数据结构的选择至关重要,...

    url 编码 js url传参中文乱码解决方案

    在Web开发过程中,使用JavaScript在URL中传递参数时,常常会遇到中文乱码的问题。这主要是因为URL和HTTP协议都是基于ASCII字符集设计的,而中文字符不在ASCII字符集范围内。因此,当参数中包含中文或特殊字符时,...

    基于Django URL传参 FORM表单传数据 get post的用法实例

    首先,我们来看**URL传参**,这通常涉及到GET请求。在Django中,URL参数是通过URL模式定义并在视图函数中接收的。例如,如果前端HTML链接中包含一个变量`x`,我们可以使用Django的模板标签`{% url %}`将其传递到视图...

    期末url去重.ipynb

    期末url去重.ipynb

    Bloom Filter用于url去重

    ### Bloom Filter用于URL去重 #### 一、引言 随着互联网的发展,Web信息的采集变得日益重要。网络爬虫等工具通常用于遍历万维网,并将其视为一个由网页节点和链接组成的巨大有向图。为了高效地采集信息并避免重复...

    ASP.NET MVC中URL地址传参的两种写法

    在*** MVC应用程序中,URL地址传参是一种常见的需求,它允许用户通过URL向服务器传递信息。本文将详细介绍在*** MVC中实现URL地址传参的两种常用写法。 首先,介绍的第一种URL地址传参的写法是通过默认的URL地址...

    网络游戏-基于动态可分裂Bloom+Filter的网络爬虫URL去重方法.zip

    本压缩包文件"网络游戏-基于动态可分裂Bloom+Filter的网络爬虫URL去重方法.zip"包含了一份名为"基于动态可分裂Bloom+Filter的网络爬虫URL去重方法.pdf"的文档,其主要探讨了如何利用特定的数据结构来解决网络爬虫在...

    url参数中传递特殊字符处理方法

    URL参数中传递特殊字符处理方法 在进行 URL 参数传递时,需要处理特殊字符的编码问题。因为有些符号在 URL 中是不能直接传递的,需要使用他们的编码。以下是常见的 URL 特殊符号及编码: 1. + 号表示空格,编码为 ...

Global site tag (gtag.js) - Google Analytics