# weibo **Repository Path**: icepear_eric/weibo ## Basic Information - **Project Name**: weibo - **Description**: 抓取微博关注的人关注的人的列表 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-10-10 - **Last Updated**: 2024-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 抓取微博个人关注列表,并将抓取的个人信息存入数据 抓取的字段: 博主名字,关注人数,粉丝人数, 个人主页链接,page_id, pid,以及根据粉丝人数设置的人际关系阻尼系数 实现的功能: (1)cookies登入 (2)正则表达式提取 (3)数据清理:清理掉不合格的url字段,部分主页的关注人数和粉丝人数不能抓取,注意避免 (4)失败重试:由于各种原因导致的抓取失败,比如请求超时等,先进行重试抓取,达到了失败的次数后,将url重新压入待抓取队列 (5)redis存储爬取队列:将待抓取的url队列存储到redis的集合中,并将对应的解析函数作为回调函数一起存入集合中 (6)设置是否继续上次抓取的开关:选择是否继续上次的抓取,还是冲头开始 (7)反反爬虫:设置headers, 设置 headers 中 referer, 防止封账户 (8)随机延时 不足: 由于只有一个账号,为了避免被封,没用使用多线程。效率太低,一个晚上才抓取了40000多条有效数据(效率低还和随机延时有关) url判重没有在进行抓取前进行判重,而是在进行存储的时候,利用数据库来去除重复数据,使用 collection.save(dict)来保存的信息,这也是导致运行慢的原因之一