微博数据处理——获取僵尸用户数据集(一)

本文介绍了一种获取和标记微博僵尸用户的方法。首先手工查找僵尸用户,然后迭代遍历这些用户的关注和粉丝列表,通过编写代码获取候选僵尸用户集。在选取不同类型的初始僵尸用户时,样本特征效果有所不同。最后,使用selenium技术辅助标记,完成僵尸用户集的标注。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:

1.手工查找一些僵尸用户

2.对僵尸用户的关注、粉丝列表进行多层遍历获取大量候选用户集

3.手工标注僵尸用户

技术难点在于第二步,工程量在第三步

1.手工查找僵尸用户

通过在微博手工查找,发现僵尸用户如下:

其特征较为明显、关注多,粉丝少,几乎没有活跃度

2.迭代遍历僵尸用户关注粉丝列表

参考此前文章:https://blog.youkuaiyun.com/weixin_43906500/article/details/115919312

相关代码略有修改,并封装为函数库,如下

2.1获取粉丝关注

get_follow_fan.py

import re
from urllib import request
import urllib
import code_weibo.config as config
import json

def get_follow_fan(o_id,num=5):
    headers = config.get_headers()
    add = urllib.request.Request(url='https://weibo.com/u/%s' % o_id, headers=headers)
    r = urllib.request.urlopen(url=add, timeout=10).read().decode('utf-8')
    p_id = re.findall(r'CONFIG\[\'page_id\']=\'(\d+)\'',r)[0]

    follow_data = []
    fan_data = []
    dic_follow_fan = {}

    for i in range(1,num+1):
        add = urllib.request.Request(url='https://weibo.com/p/%s/follow?page=%d' % (p_id, i), headers=headers)
        r = urllib.request.urlopen(url=add, timeout=10).read().decode('utf-8')

        follows = re.findall(r'action-type=\\"itemClick\\" action-data=\\"uid=(\d+)&fnick=(.*?)&',r)
        print("关注:")
        print(len(follows))
        if(len(follows)==0):
            break
        for follow in follows:
            dic = {}
            dic["uid"] = follow[0]
            dic["name"] = follow[1]
            follow_data.append(dic)
    for i in range(1,num+1):
        add = urllib.request.Request(url='https://weibo.com/p/%s/follow?relate=fans&page=%d' % (p_id, i), headers=headers)
        r = urllib.request.urlopen(url=add, timeout=10).read().decode('utf-8')

        fans = re.findall(r'action-type=\\"itemClick\\" action-data=\\"uid=(\d+)&
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值