CNode

前端如何解析百度搜索结果的地址

问答
Zzangse发布于9 年前最后回复9 年前3 回复4000 浏览0 收藏

百度搜素后出现的地址都被编码了,要访问百度的服务器服务器重定向才能跳转到相应网站,如何直接得到跳转的路径,前端有类似的工具可以实现这个操作吗?谢谢 想过或许可以通过服务端发起请求实现,如果在不用服务端的情况下,有没有办法可以解析出正确的链接或主站域名,麻烦各位了。 百度的url 类似这样 href="http://www.baidu.com/link?url=UItyYQpOsAcU7ZfaV8OfL6r9jJKuGncf0IDYcyvokxm" 我想直接拿到 "https://cnodejs.org/" 这样的地址

查看回复

回复 (3)

D
dislido#1·9 年前

这个编码应该是个hash值,不可能直接还原出原本地址,只能发请求获取重定向地址 node

const http = require('http');

http.get('http://www.baidu.com/link?url=UItyYQpOsAcU7ZfaV8OfL6r9jJKuGncf0IDYcyvokxm', (res) => {
  console.log(res.headers.location); // http://cnodejs.org/
})

浏览器端因为有跨域限制很难做到,等我想到办法再补充 直接从header里获取肯定是不可行的,跨域情况下也没办法用iframe获取

A
axetroy#3·9 年前

写了个脚本,用于去除重定向的。 github.com/axetroy/anri-redirect

来自酷炫的 CNodeMD

参与回复
登录后即可参与回复。登录