吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 25738|回复: 2005
收起左侧

[其他原创] 油猴脚本解析某学术网站(ZhiWang)文章下载链接文件

    [复制链接]
shu810687117 发表于 2023-11-26 14:17
本帖最后由 shu810687117 于 2023-11-27 17:51 编辑


如果出现获取链接失败,可以等等再试,一般10分钟会重置一次,后续也会优化这个逻辑

简介:

    使用油猴脚本在网页上插入按钮,按钮获取到网页上文件的ID,来调用外部接口实现免登录对PDF/CAJ下载。也是第一次尝试用油猴脚本来写工具,有问题欢迎回帖,看到会回复的。
    如果进入ZW没有按钮显示是正常,只有搜索页面或者文章详情页面才会渲染按钮,有按钮说明脚本启动成功了。成功下载会弹出新窗口,如果新窗口被阻止了,需要允许一下。自己测试了火狐和edga浏览器。

使用方法:
    在油猴中新建脚本,然后将附件的内容复制进去即可。

    如果复制脚本不行,请下载附件或者访问油猴脚本的链接安装。

注意:
1、如果不成功,检查一下油猴插件是不是有访问所有URL的权限。(如图2)
2、不过当前接口有限制一天只能成功下载三次,大家自行使用吧。





[图1]



图1

图1


[图2]

图2

图2




JS源码
链接:https://pan.baidu.com/s/1Z7w7zs6sIYdf8fijNUkmWA?pwd=5xje
提取码:5xje


油猴脚本地址:知网文章下载解析工具 (greasyfork.org)

[JavaScript] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
// ==UserScript==
// @name         ZW下载解析工具
// @namespace    [url=http://tampermonkey.net/]http://tampermonkey.net/[/url]
// @version      1.0
// @description  去其他
// @author       XiaoM
// @match        https://*.cnki.net/kns8s/*
// @match        https://*.cnki.net/kcms2/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        unsafeWindow
// @require      [url=https://code.jquery.com/jquery-3.6.0.min.js]https://code.jquery.com/jquery-3.6.0.min.js[/url]
// @require      [url=https://unpkg.com/layui@2.8.18/dist/layui.js]https://unpkg.com/layui@2.8.18/dist/layui.js[/url]
 
// @connect      xuexi365.top
// @grant         GM_xmlhttpRequest
 
// ==/UserScript==
 
 
(function() {
 
 
 
    'use strict';
    /* globals jQuery, $, waitForKeyElements */
 
    var $ = unsafeWindow.jQuery;
 
//this.$ = this.jQuery = jQuery.noConflict(true);
// @require      file://D:\Microsoft VS Code\project\ZW下载\index.js
 
var link = document.createElement('link');
link.rel="stylesheet"
link.href = 'https://unpkg.com/layui@2.8.18/dist/css/layui.css';
document.head.appendChild(link);
 
 
// var script = document.createElement('script');
// script.src = 'https://unpkg.com/layui@2.8.18/dist/layui.js';
// document.head.appendChild(script);
 
 
 
function download(dataFilename,dataDbname,orderid){
 
 
    var loadIndex = layer.msg('正在获取下载地址', {
        icon: 16,
        shade: 0.01
      });
 
 
   console.log({dataFilename,dataDbname,orderid})
 
 
   let url="http://www.xuexi365.top/api_zw/RTVC875CY"
   GM_xmlhttpRequest({
       method:     "POST",
       url:        url,
       data:      JSON.stringify( {'dataFilename':dataFilename,'dataDbname':dataDbname,'orderId':orderid}),
       anonymous:  true,
       headers: {
           "Accept": "application/json, text/javascript, */*; q=0.01",
           "Content-Type": "application/json; charset=utf-8"
 
 
       },
       onload: function (res) {
 
        console.log(res.responseText)
 
            try{
                var json=JSON.parse(res.responseText);
            }catch(err){
                layer.close(loadIndex);
                layer.alert("[0X86889]网络错误,可能接口出现问题,请联系管理源");
                return;
            }
 
            try{
                $.isEmptyObject(json.data.code)
            }catch(err){
                layer.close(loadIndex);
                layer.alert("[0X83889]网络错误,可能接口出现问题,请联系管理源");
                return;
            }
 
 
           if(json.data.code >0){
               layer.close(loadIndex);
 
            layer.alert('下载地址获取成功');
            window.open(json.data.url, "_blank");
           }else{
               layer.close(loadIndex);
            layer.alert(json.data.msg);
           }
 
       },
       onerror:    function (){
           layer.close(loadIndex);
        layer.alert('出现错误,请重试');
       }
   });
 
}
 
 
layui.use(function(){
    var util = layui.util;
 
    var bars=[];
 
   if(location.pathname.search('kns8s')>0){
    //查询页面
    bars= [{ // 定义可显示的 bar 列表信息 -- v2.8.0 新增
        type: 'help',
 
        icon: 'layui-icon-help'
    }, {
        type: 'download',
 
        icon: 'layui-icon-download-circle',
        style: 'background-color: #16baaa;'
    }]
   }else if(location.pathname.search('kcms2')>0){
 
    //详情页面
    bars= [{ // 定义可显示的 bar 列表信息 -- v2.8.0 新增
        type: 'help',
 
        icon: 'layui-icon-help'
      }, {
        type: 'download_caj',
 
        icon: 'layui-icon-download-circle',
        style: 'background-color: #3594ff;'
      }, {
        type: 'download_pdf',
 
        icon: 'layui-icon-download-circle',
        style: 'background-color: #5d9e2b;'
      }]
   }
 
 
 
 
 
 
    // 自定义固定条
    util.fixbar({
      bars:bars,
      // bar1: true,
      // bar2: true,
       default: false, // 是否显示默认的 bar 列表 --  v2.8.0 新增
      // bgcolor: '#393D52', // bar 的默认背景色
       css: { bottom: 200},
      // target: '#target-test', // 插入 fixbar 节点的目标元素选择器
      // duration: 300, // top bar 等动画时长(毫秒)
      on: { // 任意事件 --  v2.8.0 新增
        mouseenter: function(type){
 
          if(type=='help'){
            var content = "如何使用"
          }else if(type=='download'){
            var content = "帮我下载"
          }else if(type=='download_caj'){
            var content = "下载CAJ"
          }else if(type=='download_pdf'){
            var content = "下载PDF"
          }
 
 
          layer.tips(content, this, {
            tips: 4,
            fixed: true
          });
        },
        mouseleave: function(type){
          layer.closeAll('tips');
        }
      },
      // 点击事件
      click: function(type){
        console.log(this, type);
 
        if(type=='help'){
 
 
              layer.open({
                type: 1,
                area: ['420px', '240px'], // 宽高
                content: '<p style="padding-left:10px">在查询页面点击下载不能选择格式</br>工具根据系统的内容可能caj也可能是pdf</br>如果需要选定则需要进入到文章的详情页面</p>'
              });
 
 
          }else if(type=='download'){
 
            var selectCount =  $("#selectCount").text();
            if( selectCount !=1){
 
                layer.tips("请查看这里,是否选定的不是一个", "#selectCount", {
                    tips: [1, '#ff5722'],
                    time:10000
                  })
                layer.msg('您没有选择或则选择了多个!');
 
                return
            }
 
 
            var FileNameSNZKPT = localStorage.getItem('FileNameSNZKPT');
            var input = $('input[value="'+FileNameSNZKPT+'"]').val()
            if(input!=FileNameSNZKPT){
                layer.msg('请查看是否选择的内容不在本页面!');
 
                return
            }
 
            //children('.icon-collect').attr('data-filename')
           var dataFilename = $('input[value="'+FileNameSNZKPT+'"]').parent("td").parent("tr").find('.icon-collect').attr("data-filename");
           var dataDbname= $('input[value="'+FileNameSNZKPT+'"]').parent("td").parent("tr").find('.icon-collect').attr("data-dbname");
           var orderid= $('input[value="'+FileNameSNZKPT+'"]').parent("td").parent("tr").find('.downloadlink').attr("href");
 
            const regex = /order\?id=(.*)/i;
            var match = regex.exec(orderid);
            if(match){
                orderid=match[1]
            }
 
              layer.confirm('这里下载可能是CAJ格式,需要PDF需要进入文章详情页点击按钮,确定要下载码?', {icon: 3}, function(){
                  download(dataFilename,dataDbname,orderid)
              }, function(){
                 // layer.msg('点击取消的回调');
              });
 
 
 
 
 
          }else if(type=='download_caj'||type=='download_pdf'){
 
            var dataFilename = $('#param-filename').val();
            var dataDbname=  $('#param-dbname').val();
            if(type=='download_caj'){
                var orderid= $('#cajDown').attr("href");
 
            }else if(type=='download_pdf'){
                var orderid= $('#pdfDown').attr("href");
            }
 
            const regex = /order\?id=(.*)/i;
            var match = regex.exec(orderid);
            if(match){
                orderid=match[1]
            }
 
            download(dataFilename,dataDbname,orderid)
 
 
          }
 
 
      }
    });
 
    //隐藏知网原本滚动条
    $('.fixedbar').hide();
 
 
  });
 
 
 
 
 
 
 
 
 
})();

免费评分

参与人数 270吾爱币 +258 热心值 +232 收起 理由
wh1tefi1sh + 1 谢谢@Thanks!
Leah511 + 1 谢谢@Thanks!
Demifiend2917 + 1 我很赞同!
山上的冷 + 1 + 1 谢谢@Thanks!
clgy + 1 + 1 很有用,谢谢
TabKey9 + 1 + 1 非常感谢!
Cyberpunk2077 + 1 + 1 谢谢@Thanks!
zhl7460799 + 1 + 1 我很赞同!
小小提先生 + 1 + 1 谢谢@Thanks!
cxjun0505 + 1 + 1 谢谢@Thanks!
19182572453 + 1 我很赞同!
doudou110 + 1 + 1 谢谢@Thanks!
艺路是蓝 + 1 + 1 谢谢@Thanks!
_达圣 + 1 + 1 我很赞同!
kongbai27 + 1 + 1 谢谢@Thanks!
大漠长风 + 1 + 1 谢谢@Thanks!
guten + 1 谢谢@Thanks!
风风魔王 + 1 + 1 谢谢@Thanks!
sosaid + 1 + 1 谢谢@Thanks!
Zed丶小灰狼 + 1 + 1 热心回复!
Breeze0 + 1 + 1 谢谢@Thanks!
zpzwz + 1 + 1 谢谢@Thanks!
ac9420 + 1 + 1 谢谢@Thanks!
b8909778 + 1 + 1 谢谢@Thanks!
HillBoom + 1 + 1 用心讨论,共获提升!
hamxbb + 1 + 1 我很赞同!
82110588 + 1 + 1 谢谢@Thanks!
yx69 + 1 + 1 我很赞同!
Wangtonga + 1 感谢
zxyfy + 1 用心讨论,共获提升!
lichwil57120 + 1 + 1 谢谢@Thanks!
Kyle01 + 1 谢谢@Thanks!
longwu1031 + 2 + 1 谢谢@Thanks!
百里颜王 + 1 + 1 谢谢@Thanks!
YLSpace + 1 + 1 我很赞同!
suohu1984 + 1 + 1 我很赞同!
shiqiangge + 1 我很赞同!
lyricsaya + 1 + 1 谢谢@Thanks!
ooodx + 1 + 1 谢谢@Thanks!
LiuYi0526 + 1 谢谢@Thanks!
这一次抬头微笑 + 1 + 1 谢谢@Thanks!
QW666 + 1 + 1 我很赞同!
hacker6688 + 1 + 1 谢谢@Thanks!
AC136 + 1 + 1 谢谢@Thanks!
知云阁主 + 1 + 1 我很赞同!
McOtP + 1 用心讨论,共获提升!
mhwangdex + 1 + 1 我很赞同!
andrang + 1 + 1 热心回复!
YimingQ + 1 + 1 谢谢@Thanks!
伏热 + 1 + 1 谢谢@Thanks!
pojie20231111 + 1 + 1 谢谢@Thanks!
18042745101 + 1 谢谢@Thanks!
babucff + 1 + 1 热心回复!
liqrwily + 1 谢谢@Thanks!
zhongyihaitun + 1 谢谢@Thanks!
Chenda1 + 1 + 1 我很赞同!
不会上树的鱼 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hailuo233 + 1 + 1 谢谢@Thanks!
lr42 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
getbt + 1 + 1 我很赞同!
dugu80 + 1 + 1 我很赞同!
theStyx + 2 + 1 谢谢@Thanks!
aries_1010 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
胖子最多情 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
O168 + 1 + 1 热心回复!
时间让我沉默 + 1 + 1 我很赞同!
李佑辰 + 2 + 1 谢谢@Thanks!
yysygy + 1 + 1 谢谢@Thanks!
zgh1997 + 1 + 1 热心回复!
jeehom + 1 + 1 可以下载,谢谢!!
weihai0631 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
CallMeW + 1 我很赞同!
aa5555 + 1 + 1 谢谢@Thanks!
hans_zw1 + 1 + 1 谢谢@Thanks!
q8306925 + 1 + 1 我很赞同!
cloud_hb + 1 + 1 我很赞同!
jj131028 + 1 我很赞同!
xb0wxh + 1 + 1 用心讨论,共获提升!
lijun888 + 1 谢谢@Thanks!
天堂水 + 1 + 1 谢谢@Thanks!
chenJn + 1 + 1 谢谢@Thanks!
唐小样儿 + 1 + 1 我很赞同!
enligh + 1 + 1 我很赞同!
tys88 + 1 + 1 我很赞同!
113663Y3280 + 1 + 1 用心讨论,共获提升!
xuna2009 + 1 + 1 用心讨论,共获提升!
Chiya + 1 + 1 谢谢@Thanks!
wuaiwxh + 1 我很赞同!
墨色人间 + 1 谢谢@Thanks!
liupin924 + 1 谢谢@Thanks!
pinkfloyddddd + 1 热心回复!
bingohwy + 1 + 1 热心回复!
yirenjieqian + 1 + 1 谢谢@Thanks!
RiAmaiputer + 1 + 1 热心回复!
reminiscen + 1 + 1 谢谢@Thanks!
paltan + 1 我很赞同!
chinajxw + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
AndyKuen2 + 1 + 1 用心讨论,共获提升!
shanzhanzhe + 1 谢谢@Thanks!
WAPJlss123 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| shu810687117 发表于 2023-11-26 15:08
本帖最后由 shu810687117 于 2023-11-26 15:21 编辑

浩浩君 发表于 2023-11-26 15:00
我不知道什么情况 好像报错啦???

链接:https://pan.baidu.com/s/1Z7w7zs6sIYdf8fijNUkmWA?pwd=5xje
提取码:5xje

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
DUDU666 + 1 + 1 谢谢@Thanks!

查看全部评分

FruitBaby 发表于 2023-11-26 14:54
这种脚本太有用了,之前下载都是收费的,谢谢分享
 楼主| shu810687117 发表于 2023-11-28 11:19
af8889 发表于 2023-11-28 11:13
今天好像不行了,按照楼主国了半个小时等重置后,还是一直提示“获取下载链接失败”

现在试试看

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
af8889 + 1 + 1 我很赞同!

查看全部评分

 楼主| shu810687117 发表于 2023-11-26 14:50
浩浩君 发表于 2023-11-26 14:42
显示用户脚本无效呀

我是正常的,你试试用油猴插件创建脚本试试
ank 发表于 2023-11-26 14:38
感谢楼主,您的分享十分有用
浩浩君 发表于 2023-11-26 14:42
显示用户脚本无效呀
 楼主| shu810687117 发表于 2023-11-26 14:47
浩浩君 发表于 2023-11-26 14:42
显示用户脚本无效呀

油猴里面显示的吗
xiudle 发表于 2023-11-26 14:55
支持  谢谢!!!!!!!
浩浩君 发表于 2023-11-26 15:00
我不知道什么情况 好像报错啦???
 楼主| shu810687117 发表于 2023-11-26 15:05
浩浩君 发表于 2023-11-26 15:00
我不知道什么情况 好像报错啦???

从附件下载一下然后复制过去,感觉怪怪的,格式错乱了
浩浩君 发表于 2023-11-26 15:05
okok 我试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-14 09:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表