生成自己的豆瓣电影/音乐/图书封面墙 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Natsumoku
V2EX    分享创造

生成自己的豆瓣电影/音乐/图书封面墙

  •  
  •   Natsumoku 2022-01-03 20:18:46 +08:00 4359 次点击
    这是一个创建于 1391 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简介

    以前豆瓣电影的个人年终总结会在电脑网页端生成海报墙,现在那个功能被砍了,只能在手机端查看,而且那幅图也不会再更新。

    所以我写了这个脚本,按照自己需求,可以随时用自己观影的最新数据,生成横版 /竖版的海报墙,大图的穿插可以自己调节。默认是按照给星的高低、从近往远排列的,也可以进行筛选。

    效果图

    建议新标签页查看大图。原本我还想做图片尾端渐变到透明的效果,但是那样的话一张 PNG 格式的成品图轻松超过 15MB ,所以还是放弃了。

    电影海报墙: Preview1

    专辑封面墙: Preview2

    使用方式

    GitHub,README 里有参数说明。

    24 条回复    2023-09-14 20:59:52 +08:00
    jr55475f112iz2tu
        1
    jr55475f112iz2tu  
       2022-01-03 20:22:15 +08:00
    好像看到不少后摇专辑
    时过夏末 好评
    Natsumoku
        2
    Natsumoku  
    OP
       2022-01-03 20:53:26 +08:00 via Android   1
    @czfy 是的,后摇治愈又致郁
    d5
        3
    d5  
       2022-01-03 21:11:09 +08:00   1
    哈哈有意思,非常酷,已经 start+fork 支持!
    wellsc
        4
    wellsc  
       2022-01-03 21:15:41 +08:00
    可读性太差,没啥意义
    theHaagenDazs
        5
    theHaagenDazs  
       2022-01-03 23:45:35 +08:00
    看着不错!这种图本来也就是图个好看,已经 star 了
    Natsumoku
        6
    Natsumoku  
    OP
       2022-01-04 02:17:46 +08:00
    做了个改动,现在如果在参数中设成**按标记顺序排列**,被标为五星的条目会优先占据大图位置(也就是说它们会稍稍脱离原本的顺序,为了显得更突出)。
    oluoluo
        7
    oluoluo  
       2022-01-04 10:33:14 +08:00
    Traceback (most recent call last):
    File "image_wall.py", line 9, in <module>
    from item import Item, get_next_img_url
    File "/root/dl/DoubanImageWall/item.py", line 17, in <module>
    def get_next_img_url(items: list[Item], sort_by_time: bool, need_large_img: bool) -> str:
    TypeError: 'type' object is not subscriptable
    oluoluo
        8
    oluoluo  
       2022-01-04 10:34:50 +08:00
    这个是为什么啊
    dragonPunch
        9
    dragonPunch  
       2022-01-04 11:01:02 +08:00
    音乐专辑墙的竹内玛利亚、杏里,还有角松敏生大好评!!
    mortal
        10
    mortal  
       2022-01-04 12:17:01 +08:00
    LZ cache 文件夹不加 .gitignore 么
    Natsumoku
        11
    Natsumoku  
    OP
       2022-01-04 12:43:33 +08:00
    @oluoluo 你是 python 3.9 之后的版本吗?如果不是的话,试试看索性删掉 17 行的 “: list[Item]”
    (查了一下,感觉是这个问题: https://stackoverflow.com/questions/63460126/typeerror-type-object-is-not-subscriptable-in-a-function-signature
    Natsumoku
        12
    Natsumoku  
    OP
       2022-01-04 12:50:50 +08:00
    @mortal 这是个好问题。直觉上应该加的,但是我觉得加了的话,GitHub Actions 每天定时跑的时候,cache 文件夹是不是就形同虚设了?本地跑肯定没问题,不手动清空就行,但我不知道 GitHub Actions 机器是怎么分配的,ignore 掉以后大概每次跑之前 cache 都是空的?
    Natsumoku
        13
    Natsumoku  
    OP
       2022-01-04 12:56:27 +08:00
    @oluoluo 如果是 python 3.7 (包括)之后的话,可以 pull 一下重跑试试看,我刚才加了个 from __future__ import annotations 应该能解决那个报错
    WeitingChen
        14
    WeitingChen  
       2022-01-04 13:11:00 +08:00
    点击相关图片,会跳转链接吗
    Natsumoku
        15
    Natsumoku  
    OP
       2022-01-04 13:27:04 +08:00 via Android
    @WeitingChen 生成的是 jpg 格式,所以不会。如果想达到那个效果得用 HTML 和 js 了
    daolanfler
        16
    daolanfler  
       2022-01-04 14:58:43 +08:00 via iPhone
    有点像 mac apple music 锁屏
    oluoluo
        17
    oluoluo  
       2022-01-04 15:00:22 +08:00
    @Natsumoku 确实是 python 版本的问题,哈哈,对新特性的语法不太熟悉。。。
    Rebron1900
        18
    Rebron1900  
       2022-01-04 15:01:01 +08:00
    可以搞个 html 和 js 的么,想挂在博客上面
    terencehan
        19
    terencehan  
       2022-01-04 16:07:45 +08:00
    python 3.7.4

    ```
    Traceback (most recent call last):
    File "image_wall.py", line 90, in <module>
    rating = int(re.match(rating_span_regex, item_div.find('span', {'class': rating_span_regex})['class'][0])[1])
    TypeError: 'NoneType' object is not subscriptable
    ```
    Natsumoku
        20
    Natsumoku  
    OP
       2022-01-04 16:29:17 +08:00
    @terencehan 感谢反馈,这是没有打星的条目会触发这个问题,目前已修复
    WeitingChen
        21
    WeitingChen  
       2022-01-05 16:32:00 +08:00
    @Natsumoku 可以搞成 canvas
    gnomeek
        22
    gnomeek  
       2022-01-15 17:50:38 +08:00
    Asimov01
        23
    Asimov01  
       2022-04-22 15:06:03 +08:00
    有意思,感谢分享
    ldsj
        24
    ldsj  
       2023-09-14 20:59:52 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     861 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:44 PVG 06:44 LAX 15:44 JFK 18:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86