Takitooru 发表于 2022-10-31 13:55

油猴获取百度搜索结果真实链接【更新星愿浏览器】

本帖最后由 Takitooru 于 2022-11-1 18:20 编辑

2022/11/1/18:05更新。


有部分网友复制代码后,显示正则错误,是因为复制代码的时候,其中的<符号转码了,变成了&lt,请自行&lt更改<,或对照代码更正即可。
代码无错误,请复制代码后,注意复制后被转码
var reg = /(?&lt=data-landurl\=")(.*?)(?=")|(?&lt=mu\=")
更正

var reg = /(?<=data-landurl\=")(.*?)(?=")|(?<=mu\=")



根据会员反馈星愿浏览器没有生效问题,原因是该浏览器一项设置引起,打开星愿浏览器设置---找到搜索引擎---取消显示搜索辅助工具条即可。
另外,如取消后,刷新浏览器依然没有生效,请手动点击一下搜索按钮。
经过调试星愿浏览器,发现其他浏览器有极少特殊情况与上述发生没有生效的现象,请尝试刷新+手动点击一次搜索按钮。

星愿截图



===================分割线====================
===================分割线====================
感谢,nicen2会员提醒,发现论坛编辑器回自动把某些代码过滤掉了
其中let Matches = [...Arrlist.outerHTML.matchAll(reg)];这句,i变量被论坛过滤了


代码已更新,用编辑器上的MD功能代码就保证完整性

另外再次更新一下说明,油猴脚本不要安装bate版本,要安装正式版。

截至2022/11/1/11:13,发现某会员反馈的心愿浏览器没有生效也没有报错,调试发现,似乎被浏览器自带的js异步覆盖了脚本,解决方法:待处理。

2022/11/1已更新。
错误1
Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
处理结果:出现上述情况,这是浏览器广告插件扩展引起,如AdGuard插件AdBlock插件之类,请关闭此类型插件后再尝试调试脚本,直至油猴脚本图标出现红色数字1标记,代表脚本运行成功。

错误2
e.target.id 为 undefined
处理结果:win10 Edge浏览器版本105.0.1343.27以及最新版本107.0.1418.26,同环境调试后,无任何报错,
如出现该情况,请尝试关闭浏览器所有扩展以及其他脚本,或清理下缓存以及强制刷新搜索页面,直至油猴脚本图标出现红色数字1标记,代表脚本运行成功。

错误3
添加脚本后无效果
处理结果:经过调试,排除浏览器插件扩展引起外,部分浏览器没有立刻生效,请清理下缓存以及刷新搜索页面,直至油猴脚本图标出现红色数字1标记,代表脚本运行成功。

更新后的一些结语

只要浏览器支持油猴脚本,100%是运行成功的。


最后再啰嗦一句,脚本是基于原始数据以及浏览器默认状态(指无按照任何插件或其他)下运行成功的,如出现无效果,请尝试关闭其他引起冲突的插件扩展,或刷新搜索页面,直至油猴脚本图标出现红色数字1标记,代表脚本运行成功。

或者你第一次添加油猴脚本,按照一下截图方法添加即可,基本所有主流浏览器添加方法一样,添加后没有立刻生效的,请刷新搜索页面,直至油猴脚本图标出现红色数字1标记,代表脚本运行成功。

添加教程以及成功截图



=====================================分割线=========================================
=====================================分割线=========================================
截至2022/10/31/19:05,已收到部分网友反馈代码无效果,首先我会跟进反馈的问题,在修复前,希望你看完这段更新说明
如你有在使用油猴脚本,请检查有同类型脚本或美化以及去广告之类的脚本,可能会产生冲突,导致代码失效等等。
如果脚本无效,请尝试关闭其他油猴脚本试试,这个脚本是基于原始数据界面获取链接,
最后,如果无效,请反馈错误信息或截图。
废话少说,起因见如下链接
JS大佬帮我写个小小的脚本
https://www.52pojie.cn/thread-1705077-1-1.html
(出处: 吾爱破解论坛)
优化更新发布出来,造福人类,所有搜索结果都可以显示真实的直链,并可点击以新窗口打开直链。
不知道对百度的蛋糕有没有影响,所以完整代码设置为回复可见。日后如果失效且有能力可自行修复,又或者百度更改加密方式,那就是没得玩了。
又废话少说,直接看截图效果


核心代码
      document.querySelector('#wrapper_wrapper').addEventListener("DOMNodeInserted",function(e) {
                if (e.target.id == 'container') {
                        setTimeout(function() {
                              let Arrlist = document.querySelectorAll('' + classNameList + '');
                              for (let i = Arrlist.length - 1; i >= 0; i--) {
                                        let Matches = [...Arrlist.outerHTML.matchAll(reg)];
                                        for (let Mat of Matches) {
                                                let ifMatNull = Mat == '' ? '链接已被加密': '<a href="' + Mat + '" target="_blank">' + Mat + '</a>';
                                                Arrlist.insertAdjacentHTML('beforeend', '<div style="' + styleList + '">' + diyText + ':' + ifMatNull + '</div>');
                                        }
                              }
                        }, 1000);
                }
      });

完整代码

```
// ==UserScript==
// @name      百度搜索结果真实链接
// @namespace   To2nUrlBaidu Scripts
// @author      Takitooru
// @match       https://www.baidu.com
// @match       https://www.baidu.com/s*
// @grant       none
// @version   2.1.5
// @description 获取百度搜索结果真实链接
// ==/UserScript==
(function() {
      'use strict';
    //正则表达式
      var reg = /(?<=data-landurl\=\")(.*?)(?=\")|(?<=mu\=\")(.*?)(?=\")/g;
      //元素类名合集
      var classNameList = ['.result.c-container.xpath-log.new-pmd', '.result-op.c-container.xpath-log.new-pmd', '.result-op.c-container.new-pmd', 'h3.t.ec_title', 'h3.c-title'];
      //显示链接的样式
      var styleList = ['color:red;background-color:yellow;display:inline-block;'];
      //显示链接的提示文字
      var diyText = ['真实链接'];
    //(link?url=**)常规编码链接   ※※※※※(baidu.php?url=**)加密编码链接
      document.querySelector('#wrapper_wrapper').addEventListener("DOMNodeInserted",function(e) {
                if (e.target.id == 'container') {
                        setTimeout(function() {
                              let Arrlist = document.querySelectorAll('' + classNameList + '');
                              for (let i = Arrlist.length - 1; i >= 0; i--) {
                                        let Matches = [...Arrlist.outerHTML.matchAll(reg)];
                                        for (let Mat of Matches) {
                                                let ifMatNull = Mat == '' ? '链接已被加密': '<a href="' + Mat + '" target="_blank">' + Mat + '</a>';
                                                Arrlist.insertAdjacentHTML('beforeend', '<div style="' + styleList + '">' + diyText + ':' + ifMatNull + '</div>');
                                        }
                              }
                        }, 1000);
                }
      });

})();
```

k6m4gdt3 发表于 2022-11-4 13:20

本帖最后由 k6m4gdt3 于 2022-11-6 16:36 编辑

发发我的。
与楼主的相比改动:
1. 直接替换原URL而非在下方新增(替换成功后链接后面显示一个 rocket小图标 )。
2. 加快了脚本生效的速度。
3. 页面刷新后也能生效,提升了稳定性。

-----------------

11月6日更新:
1.rocket小图标 使用样式添加,避免某些太长的标题导致的换行。
2. 有官方标记的标题, rocket小图标 不会与官方标记冲突。
3. 部分网页的mu记录是错的(nourl.ubs.baidu.com开头的链接),不进行处理。






三点半源码 发表于 2022-11-1 13:49

亲测,Google浏览器可以。
注意事项:
1、清谷歌浏览器缓存
2、关闭ublock等广告拦截插件
3、重启浏览器
脚本代码见附件

夜泉 发表于 2022-10-31 14:20

本帖最后由 夜泉 于 2022-10-31 14:21 编辑

Takitooru 发表于 2022-10-31 14:15
请反馈,或者提供截图
https://dpurl.org/7Hdew

https://dpurl.org/zNPpl

调试后发现,e.target.id 一直为 undefined,最新edge(版本 107.0.1418.26 (正式版本) (64 位))

suohu1984 发表于 2022-11-2 11:47

安装脚本,在百度界面也成功启用,但是不显示真实链接,版本:chrome 106.0.5249.121(正式版本) (64 位)
已测试关闭adblock,以清除缓存,重启浏览器,刷新网页等方法




熊大熊二 发表于 2022-11-2 09:30

已经成功显示,感谢大佬

roqi 发表于 2022-10-31 15:39

试了一下,没能实现楼主图片中出现真是网址的效果

wtujcf123 发表于 2022-10-31 14:10

下载来试用看看,谢谢了。

kuangshen133 发表于 2022-11-1 23:15

感谢楼主,可以用。哈哈哈

gongyugang 发表于 2022-11-1 18:47

Takitooru 发表于 2022-11-1 18:29
已更新,请重新阅读本贴更新内容,或打开星愿浏览器设置----找到搜索引擎---取消显示搜索辅助工具条即可

已经成功显示,感谢大佬{:1_893:}{:1_893:}{:1_893:}{:1_921:}{:1_921:}

zoenbo 发表于 2022-11-1 15:16

Takitooru 发表于 2022-11-1 10:05
我用最新版本chrome测试正常,看了一下你的报错记录,你安装的油猴是不是beta版??如果是,你换回油猴正 ...

完美解决~~爱你~大佬~{:1_919:}

Takitooru 发表于 2022-10-31 13:58

差点忘记了,@zoenbo 艾特这位网友来

夜泉 发表于 2022-10-31 14:00

我试试看好不好用~

sp0770 发表于 2022-10-31 14:02

好用吗?用过的说下

weisohu 发表于 2022-10-31 14:06

谢谢!下载试用。

uzcool 发表于 2022-10-31 14:06

感谢分享..

ps122 发表于 2022-10-31 14:08

谢谢分享,下载看看

山贼 发表于 2022-10-31 14:12

看看,好东西哇

wljwanqqq 发表于 2022-10-31 14:13

谢谢你的分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 油猴获取百度搜索结果真实链接【更新星愿浏览器】