Commit Graph
6 Commits
Author SHA1 Message Date
翟持江 d2ecd3b11d Update client.py,将search_video_by_keyword中post_data错误的请求参数进行更新
`pubtime_begin`更改为`pubtime_begin_s`,`pubtime_end`更改为`pubtime_end_s`。已测试
2025-01-15 18:21:03 +08:00
翟持江 f2b41b573b Update core.py,以实现按照 START_DAY 至 END_DAY ,每一天进行筛选,这样能够突破 1000 条视频的限制,最大程度爬取该关键词下的所有视频
添加了`get_pubtime_datetime`函数用以获取`pubtime_begin_s`和`pubtime_end_s`参数,并为`search`函数添加了`ALL_DAY`选项,若`ALL_DAY`未开启,则保留原先的搜索策略,但每个关键词最多返回 1000 条数据,若`ALL_DAY`已开启,则使用新策略,按照 START_DAY 至 END_DAY 按照每一天进行筛选,这样能够突破 1000 条视频的限制,最大程度爬取该关键词下的所有视频,新添加的`get_pubtime_datetime`函数仅在`search`中使用,需要用户按安装`datetime`和`pandas`模块。已测试完毕
2025-01-15 18:18:36 +08:00
翟持江 bf87821d4b 为 base_config.py 添加了是否开启按每一天进行爬取的选项
`bilibili 关键词搜索`仅返回 1000 条视频记录,共计 34 页,前 33 页视频记录数为 30,第 34 页视频记录数为 30。若要获取更多视频,需要设置更多筛选中的时间段选项,最高支持细分为 1 天的视频记录
---
此处添加了`START_DAY`与`END_DAY`以及`ALL_DAY`选项,在`ALL_DAY`为False时,使用原先关键词搜索策略,与原先版本保持不变;`ALL_DAY`为True时,从`START_DAY`与`END_DAY`中解析`client.py`中的search_video_by_keyword函数接收的`pubtime_begin_s`和`pubtime_end_s`参数,以实现最高支持细分为 1 天的视频记录,具体更改见之后提交的`client.py`和`core.py`
2025-01-15 18:06:16 +08:00
翟持江 0118621a79 将微博评论爬取函数get_note_all_comments的max_id_type便为可变请求参数
除了原先的max_id参数外,max_id_type参数也附加在上一次api结果的解析中,初始为0,但随着获取的评论越来越多,会更改为1。
此外,修改了WeiboClient类的request函数,将返回的ok_code异常处理进行了优化,细分为0,1,else...。这样即便获取到的max_id和max_id_type为None,也不会触发像'>' not supported between instances of 'NoneType' and 'int'这样模棱两可的异常提示,方便溯源问题所在,即api响应错误。
对于评论的数据获取不全的情况,在浏览器中获取显示的评论数量为1000+,更改此次提交前获取的个数为308条,更改后为319条,使用网页端打开手动刷评论的最后一条和程序获取的最后一条内容一致,可能是微博默认开启的精选评论功能导致无法获取所有的微博...
2025-01-10 19:20:01 +08:00
翟持江 17b40b8bb4 Delete client.py
上传文件位置错误
2025-01-10 19:13:03 +08:00
翟持江 8967d3721c 将微博评论爬取函数get_note_all_comments的max_id_type便为可变请求参数
除了原先的max_id参数外,max_id_type参数也附加在上一次api结果的解析中,初始为0,但随着获取的评论越来越多,会更改为1。
此外,修改了WeiboClient类的request函数,将返回的ok_code异常处理进行了优化,细分为0,1,else...。这样即便获取到的max_id和max_id_type为None,也不会触发像'>' not supported between instances of 'NoneType' and 'int'这样模棱两可的异常提示,方便溯源问题所在,即api响应错误。
对于评论的数据获取不全的情况,在浏览器中获取显示的评论数量为1000+,更改此次提交前获取的个数为308条,更改后为319条,使用网页端打开手动刷评论的最后一条和程序获取的最后一条内容一致,可能是微博默认开启的精选评论功能导致无法获取所有的微博...
2025-01-10 19:08:57 +08:00