使用Python收集指定twitter用户的followers复现

原文章中没有关于获取twitter开发人员ID的详细介绍,所以开始走了些弯路:

直接进入网址https://apps.twitter.com/ ,点击create new app即可

在Website填写上犯了个简单的错误,忘记写https://,一直不明白为什么网址不正确(偷偷用学校的官网)

注册完成之后就可以得到consumer_key、consumer_secret、access_token、access_secret,将他们嵌入下面代码中

import tweepy
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import time
consumer_key='khj7Utb******WK5mjaEvk1mz'
consumer_secret='5REnbFz6D7OvK3Rq******iAwphjiUSh4LIknTfxG1ZLw0glV3'
access_token='779701660419403776-E******SWaOaZdUYRLGIae3q8IhbO0U'
access_secret='QcW8Rs5R2I8FnIj4ue******KIOezxSOOtIHqFH9sqPby'
auth=tweepy.auth.OAuthHandler(consumer_key,consumer_secret)
auth.set_access_token(access_token,access_secret)
api=tweepy.API(auth)
list=open('C:/meng.txt','w')
if(api.verify_credentials):
 print("We successfully logged in.")
 user=tweepy.Cursor(api.followers,screen_name="ssinz").items()
flag=0
while flag<100:
  try:
   u=next(user)
   list.write(u.screen_name+'\n')
   flag+=1
  except:
   time.sleep(15*60)
   print("We got a timeout...Sleeping for 15 minutes")
   u=next(user)
   list.write(u.screen_name+'\n')
   flag+=1
list.close()

想要使用tweepy要先安装头文件,可以先安装easy_install之后easy_install tweepy可以快速安装,从https://pypi.python.org/pypi/setuptools 中找到ez_setup.py运行。

原文中收集所有粉丝,在实际使用过程中发现时间过长,于是设置了收集前100个followers的条件。


ps:twitter @ssinz是朴信惠的账号,当初当成了朴槿惠...


这里介绍一种使用Python3制作知乎社交网络图的方法,具体步骤如下: 1. 获取知乎用户的关注列表和被关注列表 使用第三方库zhihu_oauth获取知乎用户的关注列表和被关注列表,示例代码如下: ``` from zhihu_oauth import ZhihuClient # 初始化 client = ZhihuClient() # 登录 client.load_token('token.pkl') # 获取用户 user = client.me() # 获取关注列表 followees = user.followees # 获取被关注列表 followers = user.followers ``` 2. 构建社交网络图 使用第三方库networkx构建社交网络图,将用户及其关注关系和被关注关系转换为节点和边,示例代码如下: ``` import networkx as nx # 初始化 G = nx.DiGraph() # 添加节点 G.add_node(user.id, name=user.name) for followee in followees: G.add_node(followee.id, name=followee.name) G.add_edge(user.id, followee.id) for follower in followers: G.add_node(follower.id, name=follower.name) G.add_edge(follower.id, user.id) ``` 3. 可视化社交网络图 使用第三方库matplotlib和networkx可视化社交网络图,将节点和边展示在画布上,示例代码如下: ``` import matplotlib.pyplot as plt # 设置节点标签 labels = {} for node in G.nodes(): labels[node] = G.nodes[node]['name'] # 绘制社交网络图 pos = nx.spring_layout(G) nx.draw_networkx_nodes(G, pos) nx.draw_networkx_edges(G, pos) nx.draw_networkx_labels(G, pos, labels) plt.show() ``` 最终的社交网络图如下图所示: ![知乎社交网络图](https://i.loli.net/2021/05/20/qdL5Trc9Yz7VhjA.png) 以上就是使用Python3制作知乎社交网络图的完整步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值