Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

豆瓣网站好像把你的插件封了 #29

Open
yyf127 opened this issue Aug 19, 2020 · 34 comments
Open

豆瓣网站好像把你的插件封了 #29

yyf127 opened this issue Aug 19, 2020 · 34 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@yyf127
Copy link

yyf127 commented Aug 19, 2020

豆瓣网站好像把你的插件封了,手动识别全部没出现,搜刮也不行了

@Libitum Libitum self-assigned this Aug 20, 2020
@Libitum Libitum added the bug Something isn't working label Aug 20, 2020
@Libitum
Copy link
Owner

Libitum commented Aug 20, 2020

@yyf127 我也发现了,我先查一下具体原因哈,多谢反馈!

@Libitum
Copy link
Owner

Libitum commented Aug 20, 2020

@yyf127 我也发现了,我先查一下具体原因哈,多谢反馈!

https://us.v2ex.com/t/699393 万恶的豆瓣,貌似把公开的 key 全封了... 看到只能考虑爬虫的方法了....

@yyf127
Copy link
Author

yyf127 commented Aug 21, 2020

@Libitum 豆瓣这么不厚道,看来还是先用tmdb了

@chengzyzy
Copy link

@Libitum
Copy link
Owner

Libitum commented Oct 29, 2020

@Catcccc 赞!非常感谢!配置里是可以直接修改 key 的。如果不介意的话,我更新到代码的 default 里可以么?

@chengzyzy
Copy link

@Libitum 直接更新吧 我也是网上才发现的

@Libitum
Copy link
Owner

Libitum commented Oct 29, 2020

@Libitum 直接更新吧 我也是网上才发现的

谢谢!

@yyf127
Copy link
Author

yyf127 commented Oct 29, 2020

https://frodo.douban.com/api/v2/movie/1294833?apiKey=054022eaeae0b00e0fc068c0c0a2102a
有新的key 应该可以使用了

好的,非常感谢

@chengzyzy
Copy link

@Libitum
image
image
换了新的key ... 搜索还是出现问题 没有返回结果

@Libitum
Copy link
Owner

Libitum commented Oct 30, 2020

@Catcccc 我也发现了,正在查是什么原因

@AlwaysHacking
Copy link
Collaborator

AlwaysHacking commented Oct 31, 2020

我这里在重构抓取的方式(用客户端的API),但是测试时遇到了问题,私聊一下? @Libitum
wechat:liu_hai_tian

@jxon
Copy link

jxon commented Nov 11, 2020

可以参考这个油猴脚本,使用了网页手机版的数据源,可以正常获取数据。
https://github.com/tofuliang/DOUBAN-Movie-info-for-RARBG/

@Libitum
Copy link
Owner

Libitum commented Nov 13, 2020

我这里在重构抓取的方式(用客户端的API),但是测试时遇到了问题,私聊一下? @Libitum
wechat:liu_hai_tian

抱歉之前有点忙刚看到,我加你哈~

@Libitum
Copy link
Owner

Libitum commented Nov 13, 2020

可以参考这个油猴脚本,使用了网页手机版的数据源,可以正常获取数据。
https://github.com/tofuliang/DOUBAN-Movie-info-for-RARBG/

谢谢!我参考一下

@xmt328
Copy link

xmt328 commented Dec 23, 2020

刚入jellyfin的坑,目前改HOSTS用的TMDB,但是tmdb的评分太不可靠了
请问下这个插件现在还能用么,看网上说api都已经不能用了

@Libitum
Copy link
Owner

Libitum commented Dec 23, 2020

@xmt328 抱歉最近年底比较忙,多谢 @HaitianLiu 实现了新的方法,还有一些小的 fix,我争取尽快 release 出来哈

@chengli0946
Copy link

@xmt328 抱歉最近年底比较忙,多谢 @HaitianLiu 实现了新的方法,还有一些小的 fix,我争取尽快 release 出来哈

期待您的更新。辛苦!!

@425369918
Copy link

坐等大佬更新噢

@daoshuailx
Copy link

期待大佬更新.

@dingyx99
Copy link

试了下直接从latest构建了插件,在抓取了几个之后就返回 Bad Request 了

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

@dingyx99 是这样的,现在豆瓣反爬虫封的特别猛,都随机 sleep 10s 了也不行。这也是为啥我没发布出来的原因。
我在考虑用登录的方式抓,不过也是怕被封。

@dingyx99
Copy link

@dingyx99 是这样的,现在豆瓣反爬虫封的特别猛,都随机 sleep 10s 了也不行。这也是为啥我没发布出来的原因。
我在考虑用登录的方式抓,不过也是怕被封。

是不是可以考虑一下多弄几个UA,随机换着来?他总不会限制多设备未登录搜索频次吧。

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

@dingyx99 是这样的,现在豆瓣反爬虫封的特别猛,都随机 sleep 10s 了也不行。这也是为啥我没发布出来的原因。
我在考虑用登录的方式抓,不过也是怕被封。

是不是可以考虑一下多弄几个UA,随机换着来?他总不会限制多设备未登录搜索频次吧。

正在尝试这么做。只不过现在得用手机的 UA。请问你知道有什么生成手机 UA 的方法么?
不过我之前找到一个不强制手机 UA 的 api,也许更方便一些

@dingyx99
Copy link

@dingyx99 是这样的,现在豆瓣反爬虫封的特别猛,都随机 sleep 10s 了也不行。这也是为啥我没发布出来的原因。
我在考虑用登录的方式抓,不过也是怕被封。

是不是可以考虑一下多弄几个UA,随机换着来?他总不会限制多设备未登录搜索频次吧。

正在尝试这么做。只不过现在得用手机的 UA。请问你知道有什么生成手机 UA 的方法么?
不过我之前找到一个不强制手机 UA 的 api,也许更方便一些

我看了一下,他UA的格式是这样的

api-client/1 com.douban.frodo/7.0.1(204) Android/29 product/aosp_chiron vendor/Xiaomi model/Mi MIX 2  rom/miui6  network/wifi  udid/879f2335e3c6c5161b***be5b8d9  platform/mobile nd/1

占位符换掉之后如下
api-client/1 com.douban.frodo/[应用版本号] Android/[版本] product/[产品代号] vendor/[生产厂家] model/[设备型号] rom/[ROM版本] network/[网络类型] udid/[UDID,应该可以用长度40的数字字母随机字符串代替] platform/mobile nd/1
基本上就是这么个格式

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

占位符换掉之后如下
api-client/1 com.douban.frodo/[应用版本号] Android/[版本] product/[产品代号] vendor/[生产厂家] model/[设备型号] rom/[ROM版本] network/[网络类型] udid/[UDID,应该可以用长度40的数字字母随机字符串代替] platform/mobile nd/1
基本上就是这么个格式

赞!我修改试一下,多谢哈

@dingyx99
Copy link

占位符换掉之后如下
api-client/1 com.douban.frodo/[应用版本号] Android/[版本] product/[产品代号] vendor/[生产厂家] model/[设备型号] rom/[ROM版本] network/[网络类型] udid/[UDID,应该可以用长度40的数字字母随机字符串代替] platform/mobile nd/1
基本上就是这么个格式

赞!我修改试一下,多谢哈

需要的话我可以试试看写了提个pr

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

需要的话我可以试试看写了提个pr

我之前有类似的 code,应该还好。你觉得有没有必要弄成同一次 search 下 share 同样的 UA?还是完全随机就好了?

@dingyx99
Copy link

需要的话我可以试试看写了提个pr

我之前有类似的 code,应该还好。你觉得有没有必要弄成同一次 search 下 share 同样的 UA?还是完全随机就好了?

如果为了模拟真实设备的操作的话,针对一次search就应该用同样的UA,然后在中间稍微多停1-2s;下一次search的时候换UA再来,中间间隔的时间可以稍微缩短一点

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

我之前有类似的 code,应该还好。你觉得有没有必要弄成同一次 search 下 share 同样的 UA?还是完全随机就好了?

如果为了模拟真实设备的操作的话,针对一次search就应该用同样的UA,然后在中间稍微多停1-2s;下一次search的时候换UA再来,中间间隔的时间可以稍微缩短一点

嗯,我也觉得这样好一些。我先这么改试试

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

我看了一下,他UA的格式是这样的

api-client/1 com.douban.frodo/7.0.1(204) Android/29 product/aosp_chiron vendor/Xiaomi model/Mi MIX 2  rom/miui6  network/wifi  udid/879f2335e3c6c5161b***be5b8d9  platform/mobile nd/1

占位符换掉之后如下
api-client/1 com.douban.frodo/[应用版本号] Android/[版本] product/[产品代号] vendor/[生产厂家] model/[设备型号] rom/[ROM版本] network/[网络类型] udid/[UDID,应该可以用长度40的数字字母随机字符串代替] platform/mobile nd/1
基本上就是这么个格式

顺便请问一下,您这个 UA 是怎么得到的?抓包么?

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

@dingyx99 豆瓣应该对 UA 做了校验,至少我手动生成了几个,有一小半都是不行的....

@dingyx99
Copy link

我看了一下,他UA的格式是这样的

api-client/1 com.douban.frodo/7.0.1(204) Android/29 product/aosp_chiron vendor/Xiaomi model/Mi MIX 2  rom/miui6  network/wifi  udid/879f2335e3c6c5161b***be5b8d9  platform/mobile nd/1

占位符换掉之后如下
api-client/1 com.douban.frodo/[应用版本号] Android/[版本] product/[产品代号] vendor/[生产厂家] model/[设备型号] rom/[ROM版本] network/[网络类型] udid/[UDID,应该可以用长度40的数字字母随机字符串代替] platform/mobile nd/1
基本上就是这么个格式

顺便请问一下,您这个 UA 是怎么得到的?抓包么?

是直接抓包抓出来的,用这个UA连续发请求(用的Postman)都OK

@Libitum
Copy link
Owner

Libitum commented Feb 19, 2021

是直接抓包抓出来的,用这个UA连续发请求(用的Postman)都OK

https://github.com/Libitum/jellyfin-plugin-douban/blob/master/Jellyfin.Plugin.Douban/FrodoAndroidClient.cs#L30
简单粗暴的实现了一下,麻烦看下如何?应该需要一个合法的 version list 和 手机型号的 list

@Libitum Libitum added this to the v2.0.0 milestone Feb 20, 2021
@caryyu
Copy link

caryyu commented Apr 28, 2021

如果 apikey 无法 work 的话,那是不是这个插件基本就废掉了?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests