dataabc / weibo-crawler

新浪微博爬虫,用python爬取新浪微博数据,并下载微博图片和微博视频
3.25k stars 739 forks source link

关于单条微博最多爬取9张图片的问题 #382

Closed thelastcookies closed 1 year ago

thelastcookies commented 1 year ago

RT,偶然间发现爬取的某条微博图片数量和实际的不符,然后又观察了一下,所有爬到的微博单条最多都是9张图片。

不想做伸手党,尝试自己解决,看看是不是代码里做了限制,找到 weibo.py 里 get_pics 方法,其中是把拿到的东西全部遍历的。 然后又去看爬到的原始数据,pics 字段里面确实是最多9个图片的 url 字符串。记得 weiboSpider 里面没有这个问题,去看了 weiboSpider 里面爬到的原始数据,和实际的图片数量对得上的。 那么就考虑是不同版本的 api 导致的结果,对照 weiboSpider 发现,此版本用的是 m.weibo.cn 的 api,而 weiboSpider 是 weibo.cn 的 api。 看接口的 url 猜测 m.weibo.cn 是移动端网页的 api,然后去浏览器里面看了下还真是,又找到那一条微博,发现确实只9张照片,与 App 或者新网页版看到的不一样。那么我推测这版使用的是可能已经废弃的 api,没有对 cookie 的强制要求,但是因为已不再维护所以不支持新的功能(图片最多18张)。

唉,那也就是说这个版本的🐛,虽然对 cookie 要求不高,但是代价就是爬到的数据不完整,偷懒还是不得行,要想全部的数据还是得去用 weiboSpider,我这些推测对吗?😭

dataabc commented 1 year ago

您加上cookie看看,之前加上cookie是可以获取大于9张的。

thelastcookies commented 1 year ago

我试了一下确实可以,还是少不了 cookie😭,多谢大佬的解答!