如何通过JS获取百度来源关键词?

发布于 2022-09-01 05:31:39 字数 355 浏览 27 评论 0

以前通过document.referrer以前能获取来百度来源搜索关键词,
最近则只能获取到,http://www.baidu.com/link?url=mDvCD8sPO6xyKSQgfoLZ6xVeHaCQHf6TrahyiTYCcGrrCmvnZDOs7LbX2dlGQQSVImU6ou9RXe7sc7FVOSzpw_

JS有什么办法呢?各种统计工具不知道是怎么实现的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

別甾虛僞 2022-09-08 05:31:39

这是百度为了防止我们获取到用户的数据来源而对网址和搜索关键词进行了加密,http://www.baidu.com/link实现的是302跳转,目前百度已多次更新加密算法,很难找到一个一劳永逸的破解办法。

深居我梦 2022-09-08 05:31:39

有一种是可以获取的,如下:

https://www.baidu.com/baidu.php?sc.5imK000s ... &ck=5042.5.103.252.517.459.274.337&shh=www.baidu.com&sht=47018152_dg&us=4.0.1.0.1.301.0.18&wd=%E8%B4%B5%E9%87%91%E5%B1%9E&issp=1&f=8&ie=utf-8&rqlang=cn&tn=47018152_dg&inputT=5699&oq=d&bc=110101

百度跳转链接如上,其中 wd 参数的值,就是要找的关键词编码。
Javascript代码对字符串进行解析:

var arr  = str.split('&').slice(1);
var tmpObj = {};
for(var i=0; i<arr.length; i++){
  var tmpArr = arr[i].split('=');
  tmpObj[tmpArr[0]] = tmpArr[1];
}
var resultStr =  decodeURI(tmpObj.wd); // decodeURI('%E8%B4%B5%E9%87%91%E5%B1%9E');

resultStr 获得百度搜索框内的字符。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文