获取长微博问题,不能下载超过9张图
我注意到get_long_weibo中的: html = self.session.get(url, headers=self.headers, verify=False).text html = html[html.find('"status":') :] html = html[: html.rfind('"call"')] html = html[: html.rfind(",")] html = "{" + html + "}" js = json.loads(html, strict=False) weibo_info = js.get("status") 其中html从self.session.get返还的并非对应id的帖子,而是返还了微博首页的responds 我添加了cookie,并且cookie验证通过了
感谢反馈,您可以参考下 #545 。 刚才看了一下,发现您已经参与了这个issue,是之前的方法失效了吗?我现在没法调试,不确定。
感谢反馈,您可以参考下 #545 。 刚才看了一下,发现您已经参与了这个issue,是之前的方法失效了吗?我现在没法调试,不确定。
貌似官方现在限制了通过访问 “https://m.weibo.cn/” 来一次性获取所有的图片。因为无论是在 “https://m.weibo.cn/” 页面上,还是在 “https://m.weibo.cn/detail/%s ”页面上,一开始都只能看到最多9张图片。但在 “https://m.weibo.cn/detail/%s ”页面上重新刷新一次页面之后,就可以获取到全部图片了。
请问大大这个情况能否通过在函数里加入一个「先再次刷新一下页面然后再解析数据」的方式来解决?
@YuanChenCheung 把weibo.py的第585行改成
if i > 1 and weibo_info:
不确定是不是这样刷新,没了解过这方面。我不方便调试,不确定。
@dataabc 谢谢大大,我又测试了一下,似乎还是“user-agent”的问题,微博最近加强了对非移动端以及爬虫的限制,尝试将“user-agent”更改为移动端的“user-agent”,可以短暂地解决问题。
@YuanChenCheung 感谢反馈。