weibo-crawler
weibo-crawler copied to clipboard
突然获取不到用户页下的微博内容
您好~我的程序在运行了两天没有问题后,突然程序报错,获取不到所有用户页下的微博内容。 应该不是封号,使用了ip池并且换了多次小号仍然报错。
【最初报错】 ------------------------------已获取寰亚SYHP(5393135816)的第1页微博------------------------------ Traceback (most recent call last): File "E:/code/微博爬虫/weibo评论用户信息爬取/weibo.py", line 747, in get_one_weibo is_long = True if weibo_info.get('pic_num') > 9 else weibo_info.get('isLongText') TypeError: '>' not supported between instances of 'NoneType' and 'int'
【查找问题】 发现 get_one_weibo()函数中的get的字段都无法获取到,然后查看了【get_weibo_json()】函数,输出对应的参数及请求的页面如下: ------------------------------已获取寰亚SYHP(5393135816)的第1页微博------------------------------ {'container_ext': 'profile_uid:5393135816', 'containerid': '100103type=401&q=#南京疫情#', 'page_type': 'searchall', 'page': 2} https://m.weibo.cn/api/container/getIndex?container_ext=profile_uid%3A5393135816&containerid=100103type%3D401%26q%3D%23%E5%8D%97%E4%BA%AC%E7%96%AB%E6%83%85%23&page_type=searchall&page=2 发现该页下请求到的内容为空,猜测是url的问题,但是修改多次未果,请大佬帮忙看下是为什么,谢谢!
感谢反馈。
发现上面的微博在没有cookie时报错,有cookie时可以正确爬取。建议添加cookie,如果还有错,建议等待一段时间再运行。如果还有疑问,欢迎继续讨论。
您好,我添加了cookie之后还是报错,发现报错的情况应该是设置了检索词,例如"query_list": ["#疫情#"]。如果没有设置检索词,程序没有此问题,测试感觉应该是设置检索条件后 请求的url不对?但是不知道应该如何修改,求助~谢谢大佬!
去掉query_list的#就可以了
您好,我也有这个问题,请问您是如何解决它的?
@Beryl-Wang 可能是被限制了,一段时间后会自动解除限制;也可能微博不包含query_list设置的关键词。