网页版闲鱼搜索功能恢复方案


一句话问题表述

闲鱼(淘宝二手)网页版(电脑版)搜索功能被去掉,已经没有搜索框存在。本文探讨去掉原因以及恢复方案

老规矩,思考过程在下面。想看结论以及最后成果直接跳转最后“结论” 部分

原因思考

搜索功能之前是存在的,首页有也明确的搜索框。并且搜索功能对于闲鱼等解决“二手”物品交易问题是必不可缺甚至用户使用的必定流程。 所以完全取消是不可能的,很明显是基于淘宝自身的流量导向诉求,也就是希望将闲鱼网页的流量导向闲鱼APP。换句话说,基于向移动端倾斜 的战略方向(毕竟对BAT来说,移动端更有价值),关闭了网页版的闲鱼搜索功能。更准确的表达是,关闭了搜索入口。

查看源代码后,我们论证了这一点,搜索框的代码只是被注释了。简单的取消注释恢复后,发现,果然搜索功能是正常的。那么,剩下的事情就是 利用他本身就还完好的功能,只要重新打通入口即可恢复可用了。

恢复的必要性在哪?

明明只需要安装一个闲鱼APP就能解决的问题,为何一定要恢复网页版呢,这个问题分成两部分,为何喜欢网页版的搜索以及为何不喜欢APP版闲鱼

  • 喜欢网页版原因
    • 一般逛天猫淘宝都是网页逛,作为类似的闲鱼,我也更习惯于网页版
    • 网页屏幕大,能承载更多信息,一次查看更多信息,提高效率
    • 网页能直接在页面使用游览器自带的CTRL+F搜索功能,进一步检索
    • 同时开多个窗口页面,查询多样东西,更灵活的排序。
    • 不然我们几十寸的显示器白买了
    • 你说不给用就不给用,那我岂不是很没面子。
  • 不喜欢APP版原因
    • APP本身会带来一堆问题,权限,耗电,广告等等。
    • 拒绝全家桶,天猫APP,淘宝APP...
    • 手机端闲鱼并没有真正比网页端好的优势
    • 你说要用就用,那我岂不是很没面子。

其实压根不用想这么多,上面的都是废话,就一般软件而言,PC相对于手机的效率高多了,手机胜在的是便携性和移动性,对这两个不敏感的都没必要放手机上。

恢复方法

  • 直接将注释取消,其实不难,但是对于一般普通人,仍然不够友好
  • 手动构造URL,由于闲鱼搜索采用的是GET方式传递信息给服务器,因此只要简单够造下即可
  • 自动构造URL,构建一个网页的壳,用户输入文字后,使用JS来自动构造URL并跳转至结果页

详细步骤

作为一个geek,不折腾一下不舒服,下面记录了下思考和解决的步骤。

去掉无关参数后搜索本质跳转的地址是s.2.taobao.com/list/list.htm?q=%CA%D6%BB%FA

其中q=后面的其实就是我们搜索词 手机。

搜索本质跳转的地址是s.2.taobao.com/list/list.htm?q=关键词 要注意的点是其中 关键词 部分是使用GB2312编码过后的URL。也就是说,如果你直接用上文的的连接。虽然也会跳转到结果页面。 但是关键词是不会正常识别,成为乱码。因此必须先将关键词进行GB2312编码后才可以 比如 手机=>%CA%D6%BB%FA

最后的连接是 s.2.taobao.com/list/list.htm?q=%CA%D6%BB%FA

到这一步。问题转化成 如何将编码指定为GB2312的编码方式。

问题来了,一般默认情况下,游览器对中文的网页会进行编码。但是对于GET请求的参数一般是进行UTF-8编码。查阅诸多文档依然没有良好的解决办法 通用化的JS编码函数尝试后均是UTF-8。虽然也找到一些大牛写的自定义转换函数,但是直觉告诉我事情不会这么麻烦。

在这个僵局中,回去继续查看闲鱼首页的源代码,忽然看到文件头的编码指定中对整个网站的语言指定为GB2312 这个时候 灵光一闪 忽然想起来函数的处理以及对参数编码标准是以当前默认的编码格式进行转换的, 也就是说,我之所以无法转成GB2312 是 因为我习惯性的使用网页指定编码是UTF-8,因为当前为了网站的兼容性以及多方面原因一般都是使用UTF-8编码 至于为何闲鱼使用GB2312,估计主要还是历史遗留问题,早期中国互联网使用的多是GB2312,现在去翻一番腾讯,新浪等等的首页。都会发现一般都是GB2312

综合以上,大胆猜测只要更改页面指定编码,即可自动让游览器的GET参数编码使用页面编码,从而无需任何其他函数参与解决问题。实践后论证了这个问题。 最终解决方案已然出来。做一个HTML的页面,有一个表单,提交的地址是闲鱼的地址。指定页面编码为GB2312。然后用户进入页面后,直接输入,点击查找。即可。

虽然解决了问题,但是心有不甘,难道就没有UTF-8下的解决方案,而且,闲鱼作为阿里大厂出品,按情理来说也不可能会不考虑到这一点, 而按照经验,解决历史遗留问题的办法一般是加多一个参数,也就是告诉服务器我用的是这个编码。你主动点按这个编码解一下。那么闲鱼,会不会也是一样的处理方式呢

假设性过后,进行了科学一下,一样论证了上述的猜测。确实存在次参数。因此最终的另一个解决方案是https://s.2.taobao.com/list/list.htm?_input_charset=utf8&q=手机

有趣的是,基于游览器默认自动编码方式是UTF-8的特性,直接地址栏访问的中文会被默认翻译成UTF-8,又因为有参数_input_charset=utf8 告诉服务器你使用的是UTF-8 所以,甚至不需要外面套一个HTML页面。直接将地址复制到地址栏。更改中文访问即可。。

结论

复制到游览器地址栏,直接更改关键词后,访问即可。

https://s.2.taobao.com/list/list.htm?_input_charset=utf8&q=关键词

当然,嫌麻烦的一样还是可以使用我们的成果。 (点我使用)

后记

附送一个网页版查卖家的网址 https://s.2.taobao.com/list/list.htm?_input_charset=utf8&usernick=用户名 要使用的方式参照上面,我就不重复一次了。

声明:敏淳|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 网页版闲鱼搜索功能恢复方案


流茗天地外,人间二十年。