通过替换获取视频地址接口的方式, 实现解除B站区域限制;
?跳转逻辑也是别人提交的,我以为没有BUG。。。 我看下代码吧
已確認,這是我的鍋 不過 連結部份 我應該會用原本的
//bangumi.bilibili.com/anime/${season_id}/play#($episode_id)
畢竟 都已經拿到確切網址了,沒必要讓B站在多跳一次
/api/view?update=true
的問題
可能要問一下 @esterTion 了,之前有碰過一次,之後就沒碰過了
另外 @ipcjs tryBangumiRedirect 的前三行 會讓 舊番 分P 番劇 不轉址
已確認,這是我的鍋
不過 連結部份 我應該會用原本的
//bangumi.bilibili.com/anime/${season_id}/play#($episode_id)
畢竟 都已經拿到確切網址了,沒必要讓B站在多跳一次
/api/view?update=true
的問題
可能要問一下 @esterTion 了,之前有碰過一次,之後就沒碰過了
舊番容易有緩存過舊的問題
BiliPlus也有不少年紀
我遇過有緩存時間在14,15年的
如果有投稿在之後才被加入番劇列表
那讀BiliPlus API時便會讀不出相關番劇
所以有必要檢查緩存有效性
我現在是用緩存時間判定
如果現在超過緩存時間一天會先更新再讀
本來有打算直接讀/api/view?update=true
不過怕會加重伺服器負擔還是做一個判定比較好
始終BP是義務工作無謂給壓外負擔
。。。我直接用了update=true
已经改成判断cid来获取ep_id了,我这里测试通过? 你们看下,还有什么问题没?
@FlandreKawaii 可以看就不要紧吧(-_-#),正常浏览B站,它也是不会自动跳转的。
好吧 :wink: 這樣我這邊也測試 OK 了,都可以看
現在還在測試開重定向會不會像UY那樣非版權番變龜速
速度正常的話這幾個腳本搭起來就是目前最好的方案了:)
。。。我直接用了update=true
一直去戳他搞不好 @esterTion 會以為被 DDoS 了 www
現在還在測試開重定向會不會像UY那樣非版權番變龜速
速度正常的話這幾個腳本搭起來就是目前最好的方案了:)
這個不會
因為這個腳本只會處理bangumi.bilibili.com頁面
www.bilibili.com和interface.bilibili.com都沒處理
所以一般投稿並沒有做任何改變
而UY是代理interface.bilibili.com使其回傳天朝地區的影片連結
但是所有影片都需要通過interface.bilibili.com
所以一般投稿都有代理
而B站明顯已把UY伺服器列入黑名單
只是沒完全禁止連接
所以才出現一般投稿限速現象
這個問題我也回報過UY
但是UY沒有修改頁面的能力
所以它只能通過代理interface.bilibili.com解除限制
如果代理伺服器被釘上那沒辦法
而本腳本是修改了bangumi.bilibili.com頁面
取得cid後便改用biliplus取得影片連結
除非biliplus跪了否則B站沒有任何辦法限制的
所以可以放心使用這腳本
已经改成判断cid来获取ep_id了,我这里测试通过?
你们看下,还有什么问题没?
代碼邏輯和我一致看來不用多測試了
我說說為何用這樣的查找邏輯
一開始是只用cid反查的
但是在我看快盜天使Black第二話更了後由於原投稿修改了cid
而番劇頁的cid沒同步更新
(實際上就是原投稿上傳時出錯變了14分鐘
後來UP修復了但是番劇系統不到UP管
變成番劇頁仍然保留錯誤14分版本的cid
那時出現很有趣的情況就是番劇頁是14分
但是點上方AV號進投稿頁就能看完23分版本)
變成用cid反查會查不出episode_id
所以加上cid反查失敗時用avid和pid配合反查
接著我用這UP的投稿做測試
在測試正解的卡多第零話和第一話的合集投稿時發現兩個字幕組並存
但B站只把其中一個字幕組加進番劇列表
避免看沒有被加進番劇列表的分P時不能用腳本命令跳轉
所以再加上avid和pid配合反查失敗時只用avid反查
當然這時episode_id不一定正確只能確保是同一season_id
因為不存在的episode_id根本查不出來只能用同一season_id的episode_id取代
當然我相信有人會吐槽那一開始的cid反查不是多餘的嗎
而且更不需要先把cid查出來
其實我也考慮過這問題
但是我做過多個測試得出結論是
B站的投稿資料庫和番劇資料庫並沒有對應關係
能對應反查只是兩組資料庫存了一致的資料
但是並非不會出現資料不一致的情況
上述快盜天使Black第二話已是一例
所以為了避免某些資料不一致導致反查失敗
所以保留cid反查
並且邏輯採用cid反查->失敗改用avid和pid配合反查->失敗只用avid反查->失敗就不處理
這樣最大程度能成功反查
如果avid、pid和cid都沒一筆資料符合那我想也不用查了
叫B站把資料庫修好比較快
@i9602097 原来那么多判断都是有用的?
@i9602097 原来那么多判断都是有用的?
只是因為我碰過太多次釘了
我也沒想過很簡單的代碼要寫得這麼複雜
目的就是要解決資料庫不一致的鍋
咦这个的at邮件为什么会在垃圾箱 update不要紧啦,资源还没有那么少 今天服务器有点网速慢我刚开始也是奇怪,后来发现前几天室友用服务器代挂bt忘了删任务在做种,正常api请求才几k,没多大事
另外不会非版权视频变慢啊,我这个解出来的地址都是可行途径最高速(非番剧1350,番剧4100)
咦这个的at邮件为什么会在垃圾箱
update不要紧啦,资源还没有那么少
今天服务器有点网速慢我刚开始也是奇怪,后来发现前几天室友用服务器代挂bt忘了删任务在做种,正常api请求才几k,没多大事另外不会非版权视频变慢啊,我这个解出来的地址都是可行途径最高速(非番剧1350,番剧4100)
這腳本不處理一般投稿 你想變慢也不能233
@esterTion 那我就放心的直接update了?
現在還在測試開重定向會不會像UY那樣非版權番變龜速 速度正常的話這幾個腳本搭起來就是目前最好的方案了:)這個不會 因為這個腳本只會處理bangumi.bilibili.com頁面 www.bilibili.com和interface.bilibili.com都沒處理 所以一般投稿並沒有做任何改變 而UY是代理interface.bilibili.com使其回傳天朝地區的影片連結 但是所有影片都需要通過interface.bilibili.com 所以一般投稿都有代理 而B站明顯已把UY伺服器列入黑名單 只是沒完全禁止連接 所以才出現一般投稿限速現象 這個問題我也回報過UY 但是UY沒有修改頁面的能力 所以它只能通過代理interface.bilibili.com解除限制 如果代理伺服器被釘上那沒辦法 而本腳本是修改了bangumi.bilibili.com頁面 取得cid後便改用biliplus取得影片連結 除非biliplus跪了否則B站沒有任何辦法限制的 所以可以放心使用這腳本
原來如此 稍微了解其中的原理了 B站轉正後多了bangumi頁面真的搞得很亂很複雜
原來如此 稍微了解其中的原理了
B站轉正後多了bangumi頁面真的搞得很亂很複雜
說句公道話
地區限制不是B站要求的而是版權方要求的
如果沒有地區限制日本人上B站也能看
只是多了一行看不懂的字幕
誰會再打開電視看廣告或者付費買niconico這類網站的會員
正版化始終是大趨勢
而且我認為正版化最終對創作者和消費者都是有利的
關於地區限制的說話止於這裏
回到技術討論
既然有需要做地區限制
那把那些頁面獨立出來未嘗不是好事
假設B站沒有設bangumi.bilibili.com
這個腳本都可能要把全部頁面都改用biliplus
那對biliplus的壓力就更大了
或者用很複雜的判斷式把有地區限制的投稿抽出來
這令除錯的難度又加大了
所以現在的情況雖然有點麻煩但是並不壞
雖然用這腳本不能說得上還是看正版
但是為B站增加點擊數還是會影響B站的投資方向
最終喜歡的作品都可能受到一點得益
而正版化對沒有正版地區是造成一些麻煩
但是反過來看這表示有更多人願意付出支持創作者
沒錯盜版是很方便
沒有地區限制又不用看廣告或者付費
但是沒有消費者的支持只會讓創作者更難做出好作品
即使沒有地區限制又不用看廣告或者付費
但沒有能看的作品也是沒有意義的
所以對於轉正雖然是麻煩但是我本人認為小小麻煩是值得的
原來如此 稍微了解其中的原理了
B站轉正後多了bangumi頁面真的搞得很亂很複雜說句公道話 地區限制不是B站要求的而是版權方要求的 如果沒有地區限制日本人上B站也能看 只是多了一行看不懂的字幕 誰會再打開電視看廣告或者付費買niconico這類網站的會員 正版化始終是大趨勢 而且我認為正版化最終對創作者和消費者都是有利的 關於地區限制的說話止於這裏 回到技術討論 既然有需要做地區限制 那把那些頁面獨立出來未嘗不是好事 假設B站沒有設bangumi.bilibili.com 這個腳本都可能要把全部頁面都改用biliplus 那對biliplus的壓力就更大了 或者用很複雜的判斷式把有地區限制的投稿抽出來 這令除錯的難度又加大了 所以現在的情況雖然有點麻煩但是並不壞 雖然用這腳本不能說得上還是看正版 但是為B站增加點擊數還是會影響B站的投資方向 最終喜歡的作品都可能受到一點得益 而正版化對沒有正版地區是造成一些麻煩 但是反過來看這表示有更多人願意付出支持創作者 沒錯盜版是很方便 沒有地區限制又不用看廣告或者付費 但是沒有消費者的支持只會讓創作者更難做出好作品 即使沒有地區限制又不用看廣告或者付費 但沒有能看的作品也是沒有意義的 所以對於轉正雖然是麻煩但是我本人認為小小麻煩是值得的
正版化我當然大力支持 地區限制也是情有可原 只是由於B站目前是正盜並行 有買版權的是bangumi 沒買的就跟以前一樣UP字幕組 被其他家買走的獨家則是連看都看不到 造成一種很混亂的局面 你要嘛就動畫番劇全都是正版bangumi.bilibili.com 其他盜版通通不准上傳 然後海外付費觀看(解除地區限制) 不過這應該還有很長一段路要走啦(雖然前天NYAA...) 總之目前能用腳本低調觀賞已經很滿足了
正版化我當然大力支持
地區限制也是情有可原
只是由於B站目前是正盜並行
有買版權的是bangumi
沒買的就跟以前一樣UP字幕組
被其他家買走的獨家則是連看都看不到
造成一種很混亂的局面
你要嘛就動畫番劇全都是正版bangumi.bilibili.com
其他盜版通通不准上傳
然後海外付費觀看(解除地區限制)
不過這應該還有很長一段路要走啦(雖然前天NYAA...)
總之目前能用腳本低調觀賞已經很滿足了
海外付費觀看是不可能的
因為根本沒買海外地區版權
首先要弄情楚關係
B站買了什麼地區版權
在那些地區要如何放怎樣放是B站的商業決定
而在那些地區以外版權仍舊在版權擁有人或者當地的版權合作方上
B站在這些地區簡單來說就是沒權放
這不是是否付費的問題
是有沒有權的問題
所以才需要設立地區限制保障版權擁有人(不是B站)的利益
至於轉正方面
大家都知道B站是幹什麼起家的(笑)
某些番組可能有不同原因而在中國地區沒有版權擁有人
根據中國法律沒有法人組織能把這種侵權行為訴諸法院
那B站要游走灰色地帶也無可奈何的
這些番劇本質就是盜版那地區限制自然不存在
B站選擇這樣的商業決定自然會變成正版和盜版的差別待遇
這是否很混亂真是見人見智
至少我看中國各大影片網到現在都是正盜版混雜的
這可以說和各網站的起家歷史有關
而在其他地區可以見到真正的純正版網站
例如台灣的巴哈姆特動畫瘋和香港的Viu
這種網站你沒有當地的IP根本就不用看
但是無論是半正還是純正網站
它們都不可以把正版番劇向版權授權範圍外的地方放送
這是為了保障版權擁有人的利益
並且這也是版權授權條款內的內容
正版番劇中的正版就是建基於這個基礎上
地區限制就是是正版的一部份
如果B站要向其他地區放送正版
那首先要在當地申請法人組織
確保有法律資格履行版權合作方義務
(例如對當地侵權行為提出法律訴訟)
然後還要另外再買版權
不同地區的版權不能混用
最後才是決定放送安排
可見要向海外放送不是簡單的一件事
也不是B站能自行決定的事
以B站現在的規模只處理中港澳台的正版放送相信是極限
要做到更多地區的正版放送要投入的資金更多
B站有它的商業考慮決定是否向海外發展
但是只要沒授權它就只能禁止這些地區存取正版番劇
這沒有商榷的餘地因為這確實被版權擁有人禁止的
[已解決]有關自動跳轉部份有問題
今天推送有了最新話的七色欲 http://www.bilibili.com/video/av10181128/ 但是打開卻自動跳轉去第一話 要自行點回第三話 排查才發現這腳本有了自動跳轉功能 由於本人在早前也寫了類似的腳本 https://greasyfork.org/scripts/29151 所以看看代碼排查一下問題 我發現在查找episode_id時只是很簡單用了分P編號查找 但是在我編寫類似腳本時 發現B站的資料庫排列方法有各式各樣 順序倒序亂序都見過 最後我是用for迴圈匹配avid和pid去查找 詳情可以查看我腳本的代碼 而且跳轉連結我是用biliplus的版本
//bangumi.bilibili.com/anime/v/($episode_id)
這樣可以讓B站讀回自己資料庫的season_id 而不是我們取用的biliplus資料庫 在運行邏輯上能讓B站自行處理就自行處理吧! 而在取用/api/view
時要注意緩存時間 我曾經因為緩存資料過舊碰過釘 最後是加了緩存時間判定去決定是否更新緩存 如果不想麻煩就直接用/api/view?update=true
去取最新的資料 不過我不知道這會不會為biliplus的伺服器帶來壓力