-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
函数get_threads 获取的某一页的主题帖数量有误 #83
Comments
用json版客户端接口 |
上面例子的37和57页,一直取不到主题贴大概是因为这两页有投票贴存在。即 |
哦阁下说的是12年引入的 但仅靠 另外阁下爬这么多页是想完全备份一个贴吧吗?阁下可以参考 https://n0099.net/v/d/3280 |
之前看到了,多谢提示。另外问下您还有别的交流工具么?你首页的q群之前找到了群号但我加不进去。 |
四叶主群 https://www.v2ex.com/t/908083#r_12566585 对此早有预言:
实际上是UX类似slack的zulip,但并不是slack、discord、qq频道 |
是的,只剩这个问题了 |
看看您的贴吧ID https://tieba.baidu.com/home/main?id=tb.1.c3bc6401.cuFllz86fDotNQKqB4WJ2Q |
或许纯粹就是系统不稳定? 测试代码 import asyncio
import time
import aiotieba as tb
async def main():
async with tb.Client('starry') as brow:
pn = 17
threads = await brow.get_threads('flowers', pn, rn=50)
prev_thread_set = set(threads)
for i in range(10):
threads = await brow.get_threads('flowers', pn=17, rn=50)
print(f"iter: {i} len:{len(threads)}")
curr_thread_set = set(threads)
print(prev_thread_set ^ curr_thread_set)
prev_thread_set = curr_thread_set
time.sleep(2.0)
asyncio.run(main())
|
建议反复请求接口然后对每页的所有tid集合排序去重做sequence equal以找出不同的tid |
大概是了,锑度日常技术力不足导致用户体验低下。建议库内部两套api(网页&客户端)相互校验帖子数量好了,我这几天写爬虫校验数据实在是蛋疼。再加上上一条issue还要忙,Starry-OvO辛苦了 |
网页端实在太恐怖了...验证码就是最大的问题 |
然而我们的圣starry神的大手早已于半年前发威以 |
有没有可能,6年前我刚学php时就业已实现了对特定贴吧进行全员备份的需求(当时还没有19年4月b吧事件后增加的吧首页最多翻到10000主题帖hard limit): https://tieba.baidu.com/p/5016857216 因此我们不过是在重复十几年前8u们摸过的石头以重新挽回早已失传的古早失落文明 |
事实核查:我这边也写了类似的: https://github.com/n0099/TiebaMonitor/blob/842a2f66f5601fe52080225f97c61654a68fe29c/crawler/src/Tieba/Crawl/Crawler/ThreadCrawler.cs#L32 所以请问 @Starry-ovo 阁下请求的是 |
然而我在改成
|
6a70a5b#diff-1b7e1df8383da27d0517a40fabe0e965c2d7a435983688a5d6ee0ce6f023dd4bR17
不要让
以及阁下试出来贴吧至多只返回100条主题帖了? |
感觉好像挺强的,好好学习一下 |
v3.1.0仍然有问题,我这边rn=50时,取到吧里最后一页has_more==False ,统计出的threads数量差不多是原来的一半。治标不治本( |
因为他写的 |
稍微小改了一下,误差从20°降低到了13°。 #rotate-captcha-crack/issues/6 |
土澳应用统计学家带手子文科生CN神发威了! |
fix: reset poll count to 0 in online api update: archive script update: readme about archive script
简要描述这个bug
get_threads
函数不能稳定取到正确的主题帖数量,需要调用多次才能返回正确的值。部分页面甚至永远取不到正确的主题帖数量,且xpath.log没有任何输出。
如何复现
下面以flowers吧前72页为例,在个人电脑以web端数据为参照,复现该问题:
你希望程序作出何种行为
get_page_thread_count('flowers', 57) == fuck('flowers', 57)
截图(可选)
...
The text was updated successfully, but these errors were encountered: