Python数据挖掘之用图挖掘同样喜欢梅西的的人

本文通过Python在Twitter上挖掘数据,构建喜欢梅西的用户网络,计算用户相似度,进行聚类分析,寻找社交子图,探索粉丝间的连接,并优化权重参数,为好友推荐或群组创建提供依据。

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

前言:
本次同样在twitter上进行数据挖掘,主题是构建图,计算相似度,找到同样喜欢梅西的人,之后可以进行好友推荐,或者用户建群等。
编辑工具:anaconda 的jupyter notebook,所以会直接在代码后面跟上输出。
数据集:如果不想麻烦的弄数据的话,可以跳过下面获取数据步骤,直接使用文末数据,导入即可。

获取Twitter好友数据

写入授权令牌

import twitter
consumer_key = "填入自己的授权令牌"
consumer_secret = "填入自己的授权令牌"
access_token = "填入自己的授权令牌"
access_token_secret = "填入自己的授权令牌"
authorization = twitter.OAuth(access_token,access_token_secret,consumer_key,consumer_secret)
t = twitter.Twitter(auth=authorization,retry=True)

获取用户数据

import os
data_folder = "E:\DataMining\Project\dataming_with_python\chapter_7用图挖掘到感兴趣的人"
output_filename = os.path.join(data_folder,"python_tweets.json")
import json 
original_users = []   #用户信息
tweets = []           #消息文本
user_ids = {}       #关联用户编号和昵称
search_result = t.search.tweets(q="Lionel Messi",count=60)['statuses']
for tweet in search_result:
    if 'text' in tweet:
        original_users.append(tweet['user']['screen_name'])
        user_ids[tweet['user']['screen_name']] = tweet['user']['id']
        tweets.append(tweet['text'])
len(tweets)
60

获取Twitter好友信息,这里假设搜索Lionel Messi的都是喜欢的

import time
#创建函数
def get_friends(t,user_id):
    friends =[]
    cursor = -1    #游标,管理翻页
    while cursor != 0:
        try:
            results = t.friends.ids(user_id=user_id,cursor=cursor,count=5000)
            friends.extend([friend for friend in results['ids']])
            cursor = results['next_cursor']
            if len(friends) > 10000:           #用户好友很多时限制
                break
        #处理异常
        except TypeError as e:
            if results is None:
                print('API次数限制,等待五分钟')
                sys.stdout.flush()
                time.sleep(5*60)   #等五分钟
            else:
                raise e
        except twitter.TwitterHTTPError as e:
            break
        finally:
            time.sleep(60)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值