Migrate BiliBili watched anime to Bangumi

Overview

说明

之前为了将B站看过的动画迁移到bangumi写的, 本来只是自己用, 但公开可能对其他人会有帮助.

仓库最近无法维护, 程序有很多缺点, 欢迎 PR 和 Contributors

使用说明

  1. Python版本要求:Python 3.8+

  2. 使用前安装依赖包:

    pip install -r requirements.txt
    
  3. 配置 Bilibili-API :

    如果 Bilibili 个人隐私设置为 不公开 番剧观看信息,则需要获取身份验证信息,获取方法详见此处

    获取后在 bili2bangumi.py 中填入 sessdatacsrf 信息

    # bili2bangumi.py 第 22 行:
    
    uid = 12345                    # Bilibili 用户 ID,必填
    sessdata = "此处填入 sessdata"  # 填入 sessdata,选填
    csrf = "此处填入 csrf"          # 填入 csrf ,选填
    
  4. Bangumi API OAuth2 授权配置:

    需获取并填入 client_idclient_secret

    下面是获取方法:

    1. Bangumi 开发平台 中创建新应用,如下图

      image

      类型选 “应用”,其余随意填写

      image

    2. 获取 App IDApp Secret

      并将 回调地址 设置为 http://localhost:3000

      image

    3. App IDApp Secret 填入 bili2bangumi.py 中:

      # bili2bangumi.py 第 28 行
      
      client_id = '此处填入 App ID'          # 必填,填入 App ID
      client_secret = '此处填入 App Secret'  # 必填,填入 App Secret
      
  5. 在完成上述步骤后,运行程序:

    python bili2bangumi.py
    
Comments
  • 报错,详情见内

    报错,详情见内

    PS D:\Code\Bilibili2Bangumi> python bili2bgm.py 请在弹出的授权页面中点击授权。 若授权页面没有自动弹出,请手动复制链接至浏览器中打开: https://bgm.tv/oauth/authorize?client_id=bgm184060850037e220f&response_type=code 正在尝试取得授权... Traceback (most recent call last): File "bili2bgm.py", line 44, in loop.run_until_complete(main()) File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\asyncio\base_events.py", line 587, in run_until_complete return future.result() File "bili2bgm.py", line 34, in main bgm_auth_data = await auth_bgm_task File "D:\Code\Bilibili2Bangumi\auth.py", line 83, in auth_bgm f'{bgm_auth_data_raw["token_type"]}' KeyError: 'token_type'

    上述问题不再深究

    bug 
    opened by CberYellowstone 15
  • Socket 无法获取到 code

    Socket 无法获取到 code

    报错信息

    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xfc in position 8: invalid start byte
    

    出错位置

    https://github.com/wopub/Bilibili2Bangumi/blob/fd531b434980e41d4fb60e3729a366cbb06f1bba/lib/auth.py#L67

    后面这个 ignore 是我加的,但忽略还是解析不到code,不知道是哪里出了问题 @CberYellowstone

    bug 
    opened by SINC-G 7
  • 保持原追番状态、自动更新看过动画的分集进度、异步网络操作和其他特性

    保持原追番状态、自动更新看过动画的分集进度、异步网络操作和其他特性

    主要新特性:

    • 保持原追番状态(想看-在看-看过)
    • 自动更新看过动画的分集进度
    • 完全使用异步网络操作,速度提升数十倍
    • 兼容最新的bilibili-api>=5.0

    其他新特性:

    • 异常自动重试
    • 更友好的提示信息
    • 自动打开更新失败的动画的 Bilibili 页面(可选)
    • 使用pipenv自动处理依赖
    • 不再依赖requests
    opened by NKID00 3
  • Fix typo

    Fix typo

    不存在字段 'auth_data',只有'bgm_auth_data' 未修改前报错信息:

    Traceback (most recent call last): File "bili2bgm.py", line 44, in loop.run_until_complete(main()) File "D:\anaconda3\lib\asyncio\base_events.py", line 579, in run_until_complete return future.result() File "bili2bgm.py", line 38, in main await get_and_update(bili2bgm_map, bili_auth_data, BILI_UID, bgm_auth_data) File "update.py", line 241, in get_and_update await data.update_bgm_data_task File "update.py", line 137, in update_bgm_data await gather(*data.update_one_bgm_data_tasks) File "update.py", line 92, in update_one_bgm_data lambda: client.post( File "utilities.py", line 67, in try_for_times_async_chain result = await func() File "update.py", line 95, in headers={'Authorization': data.auth_data} AttributeError: 'types.SimpleNamespace' object has no attribute 'auth_data'

    opened by FinBird 1
  • 适配新的 Bangumi API 并改许可证为 AGPL-3.0-only

    适配新的 Bangumi API 并改许可证为 AGPL-3.0-only

    部分被弃用而且已在文档中被删除的旧 API 虽然还能工作但可能会在不知什么时候突然不工作。

    新 API 的后端是 AGPL-3.0-only 的因此要适配新 API 的话大概也要改许可证为 AGPL-3.0-only。于是征求下目前4位贡献者的意见,同意的话点个 emoji 或者回个同意。

    • [x] @SINC-G
    • [x] @CberYellowstone
    • [x] @FinBird
    • [x] @NKID00

    ~(高考刚考完又要开工了)~

    refactor 
    opened by NKID00 3
Releases(v0.1.1)
  • v0.1.1(Sep 25, 2021)

    🎉更新日志

    • 合并了 #17(感谢 @CberYellowstone)
    • 修复了 API 调用错误

    要使用该版本的 Bilibili2Bangumi,下载下方的 Source code (zip) 解压即可。

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Aug 29, 2021)

    🎉更新日志

    • 合并了 #3 #4 #6 #7 #9 #14(感谢 @CberYellowstone @FinBird )
    • 全部使用异步网络操作
    • 增加保持原追番状态功能
    • 增加自动点格子功能
    • 增加一些可由用户选择的选项
    • 增加一些友好的提示信息
    • 使用更有意义的 user-agent Bilibili2Bangumi/<Bilibili2Bangumi 版本> (https://github.com/wopub/Bilibili2Bangumi) aiohttp/<aiohttp 版本>
    • 添加许多调试信息
    • 提高了一点点性能

    要使用该版本的 Bilibili2Bangumi,下载下方的 Source code (zip) 解压即可。

    Source code(tar.gz)
    Source code(zip)
A simple versatile telgeram bot written in Python using pyTelegramBotAPI library.

A simple versatile telgeram bot written in Python using pyTelegramBotAPI library.

Benyamin Zojaji 15 Jun 17, 2022
Crosschat - A bot for cross-server communication

CrossChat A bot for cross-server communication. Running the bot To run the bot y

8 May 15, 2022
cipher bot telegram

cipher-bot-telegram cipher bot telegram Telegram bot that encode/decode your messages To work correctly, you must install the latest version of python

anonim 1 Oct 10, 2021
Python Paxful API wrapper.

PyPaxful Python Paxful API wrapper. Description Just a Paxful exchange API implementation in python. Final objective is to have just one python packag

1 Dec 19, 2021
Add Reactions to your Channel Posts!

• Shaaak - Post Reaction Bot Simple and Minimalistic telegram bot to add Reactions and Comments to your Channel Posts! - What's Unique About it?

Harsh Raj 4 Jan 31, 2022
Stock Market Insights is a Dashboard that gives the 360 degree view of the particular company stock

fedora-easyfix A collection of self-contained and well-documented issues for newcomers to start contributing with How to setup the local development e

Ganesh N 3 Sep 10, 2021
a discord bot that pulls the latest or most relevant research papers from arxiv.org

AI arxiver a discord bot that pulls the latest or most relevant research papers from arxiv.org invite link : Arxiver bot link works in progress Usage

Ensias AI 14 Sep 03, 2022
Token-gate Notion pages

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

John 8 Oct 13, 2022
Python script to Funge NFTs.

Python script to Funge NFTs. It scrapes OpenSea for a given list of NFT collections and downloads a certain number of NFTs from each collection or the entire collections.

3 Apr 28, 2022
A Sublime Text plugin that displays inline images for single-line comments formatted like `// ![](example.png)`.

Inline Images Sometimes ASCII art is not enough. Sometimes an image says more than a thousand words. This Sublime Text plugin can display images inlin

Andreas Haferburg 8 Jul 01, 2022
Blankly - 🚀 💸 Trade stocks, cryptos, and forex w/ one package. Easily build, backtest, trade, and deploy across exchanges in a few lines of code.

💨 Rapidly build and deploy quantitative models for stocks, crypto, and forex 🚀 View Docs · Our Website · Join Our Newsletter · Getting Started Why B

Blankly Finance 1.4k Jan 03, 2023
Get some python in google cloud functions

[NOTE]: This is a highly experimental (and proof of concept) library so do not expect all python packages to work flawlessly. Also, cloud functions ar

Martin Abelson Sahlen 200 Nov 24, 2022
Using multiple API sources, create an app that allows users to filter through random locations based on their temperature range choices.

World_weather_analysis Overview Using multiple API sources, create an app that allows users to filter through random locations based on their temperat

Jason Boyer 2 Sep 16, 2022
An example Music Bot written in Disnake and uses slash commands to operate.

Music Bot An example music bot that is written in Disnake [Maintained discord.py Fork] Disnake Disnake is a maintained and updated fork of discord.py.

6 Jan 08, 2022
Tomli is a Python library for parsing TOML. Tomli is fully compatible with TOML v1.0.0.

Tomli A lil' TOML parser Table of Contents generated with mdformat-toc Intro Installation Usage Parse a TOML string Parse a TOML file Handle invalid T

Taneli Hukkinen 313 Dec 26, 2022
This is a repository for the Duke University Cloud Computing course project on Serveless Data Engineering Pipeline. For this project, I recreated the below pipeline.

AWS Data Engineering Pipeline This is a repository for the Duke University Cloud Computing course project on Serverless Data Engineering Pipeline. For

15 Jul 28, 2021
ESOLinuxAddonManager - Very simple addon manager for Elder Scrolls Online running on Linux.

ESOLinuxAddonManager Very simple addon manager for Elder Scrolls Online running on Linux. Well, more a downloader for now. Currently it's quite ugly b

Akseli 25 Aug 28, 2022
Telegram Bot for generating and decoding QR-codes

Telegram openqrgen_bot Telegram Bot that generates from user's messages and decodes QR-codes from photos. Also contains rickroll detection :) Just typ

2 Nov 14, 2021
Experiment to find the best time to look for an appointment at the Berlin Bürgeramt

Bürgeramt appointment experiment Checks Berlin.de for free Anmeldung appointments every X minutes, then analyses the results. How to use Run get-page.

Nicolas Bouliane 42 Jan 02, 2023
search different Streaming Platforms for movie titles.

Install git clone and cd to directory install Selenium download chromedriver.exe to same directory First Run Use --setup True for the first run. Platf

34 Dec 25, 2022