add:comments

This commit is contained in:
Sheyiyuan 2025-03-24 08:25:37 +08:00
parent af9887a0a6
commit cd48dee45c

30
main.py
View File

@ -132,6 +132,31 @@ class BiliWebCrawler:
tag_json = tag_resp.json()
tag_data = [tag['tag_name'] for tag in tag_json.get('data', [])]
subtitle_data = []
try:
subtitle_raw = video_data.get('subtitle', {}).get('list', [])
except Exception as e:
subtitle_raw = []
for subtitle in subtitle_raw:
subtitle_data.append({
'语言': subtitle.get('lan_doc', ''),
'字幕数量': subtitle.get('subtitles', []),
'字幕URL': subtitle.get('subtitle_url', ''),
})
honor_data = []
honors = video_data.get('honor', [])
if isinstance(honors, list): # 确保是列表类型
for honor in honors:
if isinstance(honor, dict): # 检查是否为字典类型
honor_data.append({
'type': honor.get('type', 0),
'desc': honor.get('desc', '')
})
# 如果honors是字符串则直接记录
elif isinstance(honors, str):
honor_data.append({'desc': honors})
info = {
'BV号': self.bvid,
'title': video_data.get('title', ''),
@ -145,6 +170,7 @@ class BiliWebCrawler:
'分享量': video_data.get('stat', {}).get('share', 0),
'评论量': video_data.get('stat', {}).get('reply', 0),
'发布时间的timestamp': video_data.get('pubdate', 0),
'视频荣誉': honor_data,
'发布时间': time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(video_data.get('pubdate', 0))),
'分区': video_data.get('tname', ''),
'标签': tag_data,
@ -152,9 +178,11 @@ class BiliWebCrawler:
'视频最高分辨率': resolution_str,
'视频类型': ["","自制", "转载"][video_data.get('copyright', 0)],
'视频分p数': len(video_data.get('pages', [])),
'视频字幕': subtitle_data,
'视频总时长': self.get_video_length(video_data.get('pages', [])),
'视频封面URL': video_data.get('pic', ''),
'简介': video_data.get('desc', '').replace('\n', '\\n'),
}
return info
@ -374,7 +402,7 @@ class BiliWebCrawler:
if __name__ == "__main__":
cookie = "buvid3=669D9192-9030-AE04-8149-45A24D82CBB985872infoc; b_nut=1728112285; _uuid=BDD29A64-331010-1578-7AB2-6985DCD1EC10586028infoc; enable_web_push=DISABLE; buvid4=02E86127-F707-C9D6-1E0E-62127CDB94EA86683-024100507-5HwKLZoKiRRAzdUiyP1DtUb99jVdMKHnip8nMCxMvnyDueJx41kzeR6uEnG0C2HY; DedeUserID=399209972; DedeUserID__ckMd5=9ad9de58e979dbdf; header_theme_version=CLOSE; rpdid=0zbfAHZlOT|utNc6ahG|2XT|3w1SWYYy; buvid_fp_plain=undefined; hit-dyn-v2=1; is-2022-channel=1; LIVE_BUVID=AUTO7717291772934669; PVID=2; enable_feed_channel=ENABLE; CURRENT_QUALITY=80; fingerprint=262ed395815a48ea928a2b3cf305da95; buvid_fp=262ed395815a48ea928a2b3cf305da95; bsource=search_bing; CURRENT_FNVAL=4048; bp_t_offset_399209972=1046334052841291776; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDI3ODE1NzgsImlhdCI6MTc0MjUyMjMxOCwicGx0IjotMX0.yseN1sbG5qDIlo5L0mUKqRr2tCL0OqPBnSnnHUYCWtE; bili_ticket_expires=1742781518; home_feed_column=5; browser_resolution=1702-986; b_lsid=EAE310D10E_195C32A76ED; SESSDATA=d0449397%2C1758291057%2C666e5%2A32CjDmj_WpEXUbv2oTIls3PPvM1wODDzR-gnPMRP5gwm09UIZ7YGdhTsJ7ssNg5Tb19qESVmlUMktwdlhkTnNlM0dTU05kZlBOTERNM3JqeTVSNGFaRzdwZmtNWUpjTHhPWmdxTzJiWmdDSVZxNkpEb0VGNHJFTEdaTlJtcVhBUlMzbEZJTzdCeXNnIIEC; bili_jct=e7f4029b2be38fe915678f49aa5b36f7; sid=nxbw3hdh"
cookie = "buvid3=669D9192-9030-AE04-8149-45A24D82CBB985872infoc; b_nut=1728112285; _uuid=BDD29A64-331010-1578-7AB2-6985DCD1EC10586028infoc; enable_web_push=DISABLE; buvid4=02E86127-F707-C9D6-1E0E-62127CDB94EA86683-024100507-5HwKLZoKiRRAzdUiyP1DtUb99jVdMKHnip8nMCxMvnyDueJx41kzeR6uEnG0C2HY; DedeUserID=399209972; DedeUserID__ckMd5=9ad9de58e979dbdf; header_theme_version=CLOSE; rpdid=0zbfAHZlOT|utNc6ahG|2XT|3w1SWYYy; buvid_fp_plain=undefined; hit-dyn-v2=1; is-2022-channel=1; LIVE_BUVID=AUTO7717291772934669; PVID=2; enable_feed_channel=ENABLE; CURRENT_QUALITY=80; fingerprint=262ed395815a48ea928a2b3cf305da95; buvid_fp=262ed395815a48ea928a2b3cf305da95; bsource=search_bing; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDI3ODE1NzgsImlhdCI6MTc0MjUyMjMxOCwicGx0IjotMX0.yseN1sbG5qDIlo5L0mUKqRr2tCL0OqPBnSnnHUYCWtE; bili_ticket_expires=1742781518; home_feed_column=5; browser_resolution=1702-986; SESSDATA=d0449397%2C1758291057%2C666e5%2A32CjDmj_WpEXUbv2oTIls3PPvM1wODDzR-gnPMRP5gwm09UIZ7YGdhTsJ7ssNg5Tb19qESVmlUMktwdlhkTnNlM0dTU05kZlBOTERNM3JqeTVSNGFaRzdwZmtNWUpjTHhPWmdxTzJiWmdDSVZxNkpEb0VGNHJFTEdaTlJtcVhBUlMzbEZJTzdCeXNnIIEC; bili_jct=e7f4029b2be38fe915678f49aa5b36f7; sid=6samqc5x; CURRENT_FNVAL=4048; b_lsid=C59CC24E_195C55AE7C6; bp_t_offset_399209972=1047699216786259968"
# 批量处理targets.txt中的BV号
targets = load_targets()
if not targets: