NanmiCoder / NanmiCoder/MediaCrawler
[问题] b站 按up主启动时在成功登陆后直接报错退出
Open
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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