00randomize00

Results 11 comments of 00randomize00

#241 works for me. Just change to this line ` escaped = answer.encode('utf-8').decode('unicode-escape')`

我试了一下 , @kiddkyd2给的接口是对的。但是这个接口似乎要放SESSDATA,我尝试以Guest Mode打开视频但自动字幕的选项没有跳出来。所以我认为自动字幕这个功能只有登录才会显示,也有可能是我技术不行 :D 以下是代码(nodejs) ```js const axios = require("axios"); //const md5 = require("md5"); const cheerio = require("cheerio"); const fs = require("fs"); const SESSDATA = "SESSDATA=aaaaaaaa%aaaaaaaaaaaa%aaaaaaa%"+fs.readFileSync("./last_part.txt",{encoding:"utf8"}); var urls =...

我测试了一下,感觉只要把 SESSDATA 加在Cookie很像就可以了 ```js const axios = require("axios"); const fs = require("fs"); const YOUR_SESSDATA = fs.readFileSync("./session_data.txt",{encoding:"utf8"}); main(); async function main() { let channel_id = 1; while(true) { var options =...

@UnluckyNinja 感谢提醒,用SESSDATA的确有风险。我也测试了一下 @renmu123 的方法,的确是可以用的。 以下是我用nodejs实现的方法(感谢 @renmu123 提供的代码,我只是翻译成nodejs而已) ```js const axios = require("axios"); const fs = require("fs"); main(); async function test() { var payload = fs.readFileSync("./payload.txt", {encoding:"utf8"}); var cookie_buvid3; var options...

`http://api.live.bilibili.com/xlive/web-interface/v1/second/getList?parent_area_id=9&area_id=0&page=1&platform=web&sort_type=online` 应该是你要的接口。这个接口我在这个文档找不到(如果有的话,我先道歉因为我真的找不到),所以我在下面解释参数。 `parent_area_id` 和 `area_id` 可以从 `https://api.live.bilibili.com/xlive/web-interface/v1/index/getWebAreaList?source_id=2` 这个接口查看。 以`虚拟主播`为例子: ```json { "id": 9, "name": "虚拟主播", "list": [ { "id": "743", "parent_id": "9", "parent_name": "虚拟主播", "old_area_id": "", "name": "TopStar", "pinyin": "",...

@TommyLe1 不好意思最近在忙课业,所以现在才看到。我自己测试了一下,这个接口还是可以用的。至于你说的-412,我自己目前是没有遇到过。如果你是大量抓取的话,那么我的确没有去测试这个问题。

`https://api.bilibili.com/x/space/wbi/arc/search?` 这个接口只要在访问时在Cookie里加 buvid3 (关于buvid3的方法可以参考这个->https://github.com/SocialSisterYi/bilibili-API-collect/issues/686#issuecomment-1619755760) , ~然后给一个正常user-agent就可以了。我自己测试了一下,还蛮稳定的。如果出现-401, 那么就抓过buvid3就可以了。~ 至于AI字幕我觉得不太可能有比较稳定的方法,因为他是跟SESSDATA绑在一起的。我尝试在无痕模式下打开视频,可是连“字幕”的选项都没有跳出来,所以我觉得不太可能。(当然这个只是基于我技术不好的看法,也许其他大佬能够有方法稳定抓AI字幕) Edit 1 : `https://api.bilibili.com/x/space/wbi/arc/search?`这个接口的buvid3似乎没有那么严格,直接访问 `https://www.bilibili.com/` 然后抓取cookie里面的buvid3就可以了,不需要特别的访问`https://api.bilibili.com/x/internal/gaia-gateway/ExClimbWuzhi`这个接口来验证buvid3 Edit 2 : `https://api.bilibili.com/x/space/wbi/arc/search?`这个接口测试了几个小时后发现重点应该是在user-agent,但这个user-agent其实是可以乱写的( 例如: js随机的Math.random也是可以的)。如果出现-401, 换一个user-agent就可以了,不需要重新抓过buvid3 。 然后在研究这个接口的时候,意外发现现在的wbi的接口不需要w_rid和wts也能正常访问

想问一下,你的批量跑是指同时进行多个请求吗?如果是的话,那么我确实没有考虑+测试到这个问题

@Alien1007 我测试了同时进行多个请求。我的做法是每一次做50request, 每一个request的user-agent都是随机的,然后访问 `https://www.bilibili.com/`抓cookie(这次我是把全部cookie加在headers,然后cookie可以一样一直到出现-401 例子:`innersign=0;buvid3=8C55DD22-BFF4-4EB5-EF89-413A8441D83386933infoc;b_nut=1693230986;i-wanna-go-back=-1;b_ut=7`)。如果出现-401,就抓过全部的cookie。我用for loop 从mid 0 抓到 2090 都还蛮稳定的。 如果同时请求过多或一次抓太多,那么我觉得只有rotate proxy了。这是我第一轮写的代码因为逻辑错误,导致同时进行太多个request而发现的。我自己只测试最高用200同时请求,抓到mid 4000+就开始-401了。

@Alien1007 在我测试多个同时请求后才发现cookie也是要改的。我总结一下我目前观察到的结论:user-agent -> cookie -> ip。user-agent 我觉得每一次的请求都让它随机,cookie 出现-401才换过。如果cookies换了还是-401,那么我觉得只有用proxy来改ip了