隔壁网

小喇叭+ 发布

双十一活动隔壁网双十一活动开始,满300减40,赠送7大礼包,更大刀优惠,旺旺咨询客服。#淘宝小店#
01-27 17:20

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 20082010 于 2020-4-10 14:47 编辑

这两天看到有人发了搜刮器补丁(2020新版),不过没说明是啥。其实不是GXNAS博客的,他也是转发的只是没说明。

特此说明一下

补丁文件早在去年8月就有了,原理是通过在线代理的方式进行的。目的就是为了防止之前搜刮器因为服务器挂了导致大家无法再使用。
现在大家基本都用上了。这个在线代理的方式每天只能10万次访问,这个是cloudflare限制的。(好像现在已近挂了。。)

说白了,大家可以去cloudflare上面自己建立一个应用,自己用自己的,就不用了怕被挂了。(这也是这个作者的初衷)

未知的问题是因为你用来访问douban的ip地址访问太频繁了,被douban认为是有风险的。所以拒绝你再访问了。
为了解决这个问题,可以尝试使用workers来代理自己的ip,如果被封了就再建立一个试试。

最底部会说明一下怎么自己建立代理,基本是无成本的秒级建立。。(另送福利)

以下内容全部转自jswh博客
欢迎大家访问查看原帖:
http://www.jswh.me/产品创造/synology-video-station-douban-plugin/
  • 前段时间搞了一个星际蜗牛 D 款,做了一点散热改装之后,装了黑群晖已经正常服役了两个多月了。用的最多应该就是下载和 Video Station,本来也是为了这个来的,省的老是要帮对象找各种在线资源。
    Video Station 原生的刮削器只支持国外一些网站,速度慢不说很多国内的内容也没有信息。有一位老哥做了豆瓣得刮削器补丁,试用了一下。一开始感觉还不错,用了一段时间之后,发现数据有时候回滞后,豆瓣上明明有内容,通过插件却查找不到。
    之后稍微研究了一下源代码,发现原作者是自己写了一组 API 供插件调用,可能是为了避免豆瓣得反爬虫屏蔽,API 内容应该是做缓存的。有一个现象是,有一个关键词一开始搜不出内容,但是搜索过一次过段时间之后就有内容了。所以猜测是通过搜索来触发缓存的异步更新了。
    虽然用用也可以,但是总是不放心。一个是缓存策略导致数据滞后,另外就是万一哪天老哥把 API 停了就不能用了。反正代码也是 PHP 的的老本行就直接拿来改成了直接抓取豆瓣网页了。顺便把代码部署到了 github,安装相关说明直接安装即可使用。

    目前仅修改了电影数据的抓取代码,但是把搜索器也开放给了电视数据,所有理论上都是能搜索的了。还有一个问题是豆瓣的反扒比较严格,如果发现搜不到内容了,很可能是 ip 被封了,这时候建议直接重新拨号。
    有问题可以在这里留言或者提 issue,让我们愉快得玩耍吧。
    2020-02-23更新
    找到了代理服务器的替代方案–cloudflare workers 更新后使用即可。目前worker是用的我的worker, 免费版本10w请求每天。如果后面免费量不够了或者我弃坑了,我会写一下替换worker的地址,现在懒得写了。 安装脚本也更新了,所以安装的时候要记得重新下载。
    2020-04-01更新
    • 删除了其他搜索源,只保留了豆瓣源
    • 封面图片也通过cf-worker获取
    • 修复部分数据抓取错误的bug
    • 安装脚本更新,从master分支下载最新代码。以后更新不用重新下载安装脚本了。
    2020-04-09更新
    • 修改安装脚本自定义cf-worker地址.cf-worker部署说明:地址


    synology_video_station_douban_plugin



==========分割线===============


以下是快速建立防挂地址的方式。
1.打开 https://dash.cloudflare.com/sign-up,注册自己的账号。(怎么注册可以百度一下)
2.在个人主页中,右侧点击建立“workers”应用
3.点击“创建worker”
4.删除内置代码,复制下面的内容
  1. addEventListener('fetch', event => {
  2. event.respondWith(handleRequest(event.request))
  3. })

  4. async function handleRequest(request) {
  5. targetUrl = request.url.split('-----')[1]
  6. return await fetch(targetUrl)
  7. }
复制代码
5.点击“保存并部署”

完工。(话说是不是有人发现还有其他用法了?我就不点破了,有专研精神的还可以找找什么是jsproxy。。)

按上面的方式已经建立了网址了,用小本子记下,下面第四步要用的哦。。。
  1. 安装:

  2. 1. ssh 登录群晖系统
  3. 2. 执行wget https://raw.githubusercontent.com/jswh/synology_video_station_douban_plugin/master/install.sh
  4. 3. 执行sudo bash install.sh uninstall (第一次安装可以跳过这个步骤)
  5. 4. 执行sudo bash install.sh install 'http://douban.abc.workers.dev'
  6. 这步记得更换地址哦。。。


  7. 卸载

  8. 1. ssh 登录群晖系统
  9. 2. 执行wget https://raw.githubusercontent.com/jswh/synology_video_station_douban_plugin/master/install.sh
  10. 3. 执行sudo bash install.sh uninstall
复制代码


特别说明:
https://douban.abc.workers.dev/

1.上面这个网址是我自己乱写的,没有实际意义的。写你自己的就可以了。
2.网址中,douban,是自己重命名的,创建worker时会自动创建一个随机名,不想用可以重命名你要的,比如douban。
3.网址中,abc,是你自己注册worker时的子域名。(不能改的)


附属赠送
另外,已经用上的同学会发现,老版本和现在用的有些差别,在人名上,现在用的是豆瓣的原始名称“中文名 英文名




这种方式对于已经用惯老版本的人来说会有点麻烦(老版本只有中文名),因为姓名不兼容,导致搜索人名时会有问题,而且也不统一,看着难受(处女座不要打我)。
解决方法也很简单,还是打开douban.php,找到183行。(插件目录见上面)
将下面代码添加进去。
  1. $item['name']= explode(" ", $item['name']);
复制代码


未修改前
  1. foreach ($movie_data->{$fn}() as $item) {
  2.         if (!in_array($item['name'], $data[$key])) {
  3.              array_push($data[$key], format_the_name($item['name']));
  4.         }
  5.         }
复制代码
修改后

  1. foreach ($movie_data->{$fn}() as $item) {
  2.        if (!in_array($item['name'], $data[$key])) {
  3.             $item['name']= explode(" ", $item['name']);
  4.              array_push($data[$key], $item['name'][0]);
  5.        }
  6.         }
复制代码
然后就能和之前的版本兼容了。












1

查看全部评分

楼主热帖
分享到 :
23 人收藏

41 个回复

倒序浏览
jzhu811  发烧38℃ | 2020-4-7 08:02:08
douban.php,这个文件我找不到,麻烦楼主把路径贴全一些。
oiwww  亡灵 | 2020-4-7 08:41:39
收藏备用,感谢分享!
kof22205602  高烧40℃ | 2020-4-7 14:17:52
大神这二步如何操作了,没找到呢?1.找到douban.php。(在syno_file_assets文件夹中)
2.将第三行中的地址调整为刚刚建立的地址。
szac19851  正常36.8℃ | 2020-4-7 22:15:04 来自手机
试试看效果如何
丑八怪  高烧40℃ | 2020-4-7 23:14:21
谢谢楼主,现在就去自建。
20082010VIP2  走火入魔 | 2020-4-8 04:19:51
jzhu811 发表于 2020-4-7 08:02
douban.php,这个文件我找不到,麻烦楼主把路径贴全一些。

/var/packages/VideoStation/target/plugins
我已经补充在上面了
20082010VIP2  走火入魔 | 2020-4-8 04:20:29
kof22205602 发表于 2020-4-7 14:17
大神这二步如何操作了,没找到呢?1.找到douban.php。(在syno_file_assets文件夹中)
2.将第三行中的地址 ...

已经更新了。具体目录是/var/packages/VideoStation/target/plugins
kof22205602  高烧40℃ | 2020-4-8 09:10:47
第27行       return '鏈煡';
第35行       return '鏈煡';
第77行       $data = $this->pregOneValue('/鍙堝悕:<\/span>(.*)<br\/>/');
第240行      #print_r(test('纰熶腑璋?', 'chs')); 显示的乱码正常吗?
刮削器显示的还是‘未知’
IC1003  发烧38℃ | 2020-4-8 09:18:43
刮削器显示的全部都是“未知”
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20082010

走火入魔

积分: 585 帖子: 44 精华: 1
隔壁网双十一活动开始,满300减40,赠送7大礼包,大刀优惠,淘宝小店咨询客服。 立即登录 立即注册

微信扫一扫关注公众号,获取注册邀请码!

小黑屋|手机版|Archiver|隔壁网 ( 粤ICP备14056481号-1 )

Powered by Discuz! X3.4 © 2001-2016 Comsenz Inc.

返回顶部