NanmiCoder / NanmiCoder/MediaCrawler

[问题] b站 按up主启动时在成功登陆后直接报错退出

Open
#586 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
Python
Stars
65.3k
Forks
12.6k
PR merge metrics
No merged PRs in 30d

Description

⚠️ 提交前确认

  • 我已经仔细阅读了项目使用过程中的常见问题汇总
  • 我已经搜索并查看了已关闭的issues
  • 我确认这不是由于滑块验证码、Cookie过期、Cookie提取错误、平台风控等常见原因导致的问题

❓ 问题描述

b站 按up主启动时在成功登陆后直接报错退出

🔍 使用场景

  • 目标平台: (如:小红书/抖音/微博等) b站
  • 使用功能: (如:关键词搜索/用户主页爬取等) 爬取某个up主的视频评论

💻 环境信息

  • 操作系统: win
  • Python版本: 3.9.6
  • 是否使用IP代理: 否
  • 是否使用VPN翻墙软件:是
  • 目标平台(抖音/小红书/微博等): b站

📋 错误日志

(pachong) D:\MediaCrawler-main>python main.py --platform bili --lt qrcode --type creator
2025-04-14 15:24:34 MediaCrawler INFO (core.py:412) - [BilibiliCrawler.launch_browser] Begin create browser context ...
2025-04-14 15:24:36 MediaCrawler INFO (core.py:363) - [BilibiliCrawler.create_bilibili_client] Begin create bilibili API client ...
2025-04-14 15:24:36 MediaCrawler INFO (client.py:109) - [BilibiliClient.pong] Begin pong bilibili...
2025-04-14 15:24:36 MediaCrawler INFO (client.py:115) - [BilibiliClient.pong] Use cache login state get web interface successfull!
Traceback (most recent call last):
  File "D:\MediaCrawler-main\main.py", line 66, in <module>
    asyncio.get_event_loop().run_until_complete(main())
  File "D:\anaconda3\envs\pachong\lib\asyncio\base_events.py", line 642, in run_until_complete
    return future.result()
  File "D:\MediaCrawler-main\main.py", line 56, in main
    await crawler.start()
  File "D:\MediaCrawler-main\media_platform\bilibili\core.py", line 93, in start
    await self.get_creator_videos(int(creator_id))
  File "D:\MediaCrawler-main\media_platform\bilibili\core.py", line 283, in get_creator_videos
    result = await self.bili_client.get_creator_videos(creator_id, pn, ps)
  File "D:\MediaCrawler-main\media_platform\bilibili\client.py", line 339, in get_creator_videos
    return await self.get(uri, post_data)
  File "D:\MediaCrawler-main\media_platform\bilibili\client.py", line 99, in get
    return await self.request(method="GET", url=f"{self._host}{final_uri}", headers=self.headers)
  File "D:\MediaCrawler-main\media_platform\bilibili\client.py", line 55, in request
    data: Dict = response.json()
  File "D:\anaconda3\envs\pachong\lib\site-packages\httpx\_models.py", line 755, in json
    return jsonlib.loads(self.content.decode(encoding), **kwargs)
  File "D:\anaconda3\envs\pachong\lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "D:\anaconda3\envs\pachong\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "D:\anaconda3\envs\pachong\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

📷 错误截图

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with media_platform/bilibili/core.py at get_creator_videos and follow the request path into media_platform/bilibili/client.py, especially request, get, and get_creator_videos. Reproduce the command from the report and inspect the response handling; done means creator video crawling no longer exits with the reported JSONDecodeError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.