本帖最后由 木羊羽 于 2021-8-19 17:11 编辑
好尬尴啊{:4_96:},要尬死了{:4_98:}
目标网站:https://cl.308x.xyz/htm_mob/2107/7/4611108.html
!!!建议屏蔽图片!!!
bt网站:https://iurl302.icu/DiHEW6zlJT?_=000,这个网站的地址会变化,所以给的是短链
cookies失效需要更新cookies
我的计划是在第一个下载地址后面依次给出:名称,信息,磁力哈希
// ==UserScript==
// @name bt搜索
// @namespace http://tampermonkey.net/
// @version 0.1
// @description视频自动点赞,网页自动宽屏播放
// @author 木羊羽
// @include https://cl.308x.xyz/*
// @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
// @run-at document-body
// @grant GM_xmlhttpRequest
// ==/UserScript==
(function () {
let header = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cookie': 'JSESSIONID=0B904B22B2D367022FCE51C1104E25E3; aywcUid=P5R6Nrycwm_20210819090408; tet=1629365677915; tetm=48862',
'dnt': '1',
'referer': 'https://skrbtba.xyz/',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'same-origin',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
}
let content = $($('.tpc_cont'))
let flag = content.find('a:even').css('color', 'red')
let reg = /【影片名称】([\s\S]*?)<br>/g
let title_list = content.html().match(reg)
for (let i = 0; i < flag.length; i++) {
let keywords = title_list.replace('【影片名称】', '')
keywords = keywords.replace(':', '')
keywords = keywords.replace('<br>', '')
let search_url = `https://skrbtba.xyz/search?keyword=${keywords}`
// console.log(`开搜索【${url}】`)
GM_xmlhttpRequest({
method: 'GET',
url: search_url,
headers: header,
synchronous: true,
onload: function (response) {
let data_list = []
let doc = $(response.responseText)
console.clear()
console.log(`搜索页url【${search_url}】`)
console.log(`搜索页请求头【${header.referer}】`)
// console.log(response.responseText)
let search_results = $(doc.find('.list-unstyled'))
let count = search_results.length
if (doc.find('.sr-only').length) {
console.log('【【【【【【更新cookie】】】】】】')
} else if (count === 0) {
} else {
count <= 5 ? count : count = 5
for (let i = 0; i < count; i++) {
let title = $(search_results).children('li').innerText
let info = $(search_results).children('li').innerText
let href = 'https://skrbtba.xyz/' + $($(search_results).children('li')).children('a').attr("href")
data_list = title
data_list = info
data_list = href
}
for (let k = 0; k < data_list.length; k = k + 3) {
// console.log(`${data_list} ${data_list}`)
header.referer = search_url
let content_url = data_list
GM_xmlhttpRequest({
method: 'GET',
url: content_url,
headers: header,
synchronous: true,
onload: function (response) {
let doc = $(response.responseText)
// console.log(response.responseText)
// let doc = $('html')
try {
data_list.splice(k + 3, 0, $(doc.find('.list-unstyled')).children('li').innerText.match(/{40,40}$/))
}
catch (err) {
console.log(header.referer)
// console.log(response.responseText)
return console.log(`出错啦【${err.message}】`)
}
console.log(data_list)
$(flag).after(`<br>************${k}***********<br>${data_list} ${data_list} ${data_list}`)
header.referer = 'https://skrbtba.xyz/'
}
})
}
}
}
})
}
})()
李恒道 发表于 2021-8-19 14:32
代码太多具体我也很难有什么判断
哥哥可以写个能触发的小例子我们大家一起调下? ...
https://gitee.com/myy_321/images/raw/master/picture/20210819/171515738-1.png
木羊羽 发表于 2021-8-19 17:15
写的挺好,应该是需要的数据没正确截取到。建议把磁力链接那块a标签整个截取插入到白花花这个网页。还有打开白花花网页时,脚本运行次数太多了得想办法避免。挺好的。我再帮你仔细研究一下这个白花花网站
木羊羽 发表于 2021-8-19 17:15
好奇怪...我帮不到哥哥,xhr的post我这里post不出来,我日
调试了下你的代码,怎么说呢,老生常谈的问题了:**不要在遍历数组时修改数组长度!** 你在给数组添加磁力链的时候用了try catch,一旦这一步失败,你的数组长度就不再是4的倍数了,导致后续循环在取url时整个错位,取到的实际上是title、info这些东西,把它传给GM_xmlhttpRequest当然会出错了,你输出的东西全乱了也是这个原因。这个问题用对象解决是最简单的:
```javascript
//...
for (let i = 0; i < count; i++) {
let title = $(search_results).children('li').innerText
let info = $(search_results).children('li').innerText
let href = 'https://skrbtba.xyz/' + $($(search_results).children('li')).children('a').attr("href")
//data_list = title
//data_list = info
//data_list = href
data_list.push({
title: title,
info: info,
href: href
});
}
//for (let k = 0; k < data_list.length; k = k + 3) {
for(let k = 0; k < data_list.length; k++) {
header.referer = search_url
//let content_url = data_list
let content_url = data_list.href;
//...
//data_list.splice(k + 3, 0, $(doc.find('.list-unstyled')).children('li').innerText.match(/{40,40}$/))
data_list.magnet = $(doc.find('.list-unstyled')).children('li').innerText.match(/{40,40}$/);
//...
//$(flag).after(`<br>************${k}***********<br>${data_list} ${data_list} ${data_list}`)
$(flag).after(`<br>************${k}***********<br>${data_list.title} ${data_list.info} ${data_list.magnet}`)
//...
```
另外skrbtba.xyz这个网站我测试的时候不太稳定,似乎隔一段时间就会发生一次重定向,需要过一遍人工验证,这可能是GM_xmlhttpRequest失败的原因。
cxxjackie 发表于 2021-8-19 22:11
调试了下你的代码,怎么说呢,老生常谈的问题了:**不要在遍历数组时修改数组长度!** 你在给数组添加 ...
感谢大佬!!!爱你么么哒{:4_101:}!!!
木羊羽 发表于 2021-8-20 08:30
感谢大佬!!!爱你么么哒!!!
哥哥脚本优化好了没?发出来呀
脚本体验师001 发表于 2021-8-21 12:59
哥哥脚本优化好了没?发出来呀
虾仁诛心
本来以为是开玩笑,原来真的是草榴...
孔曰:食色行也,不吃不喝不拉不撒不爱不恨,还是男人吗!
孟曰:说得对,俺举双手赞成!