前言
Twitter Tweepy相关这块内容在CSDN甚至搜索引擎里都少得可怜
一、Tweepy是什么
我们知道,想要获取的twitter的数据,直接爬虫是比较麻烦的,很多数据都是js渲染出来的,所以尽量走阳关大道,那就是使用twitter官方api,我已申请,不多赘述如何申请。今天要介绍的Tweepy就是基于twitter api再次封装的一个库, 在OAuth 认证上比官方api好用很多,代码也相当简练,结合pandas、echarts等等一些库,可以做很多有趣的实现。
二、Tweepy可以干什么
可以干的事情太多了,我提一些关键词吧,标签、统计、调研、样本作图、分词、情感分析、监控、数据可视化、等等。提示:记得上梯子,不然访问不了接口。
安装Tweepy:pip install tweepy
三、一个简单的demo
import tweepy
# API认证
def ApiAuthentic():
consumer_key = "你的key"
consumer_secret = "你的consumer_secret"
access_token = "你的token"
access_token_secret = "你的token_secret"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
# redirect_url = auth.get_authorization_url()
# print(api.me().screen_name + '认证成功')
return api
# 导入监控列表
def ImportMonitor(opendir):
result = []
with open(opendir, 'r') as file_to_read:
while True:
line = file_to_read.readline()
if not line:
break
line = line.strip('\n')
result.append(line)
return result
# 查询数据
def QueryFans(api,userlist):
print("------数据获取中------")
n = 1
for i in userlist:
try:
user = api.get_user(i)
print(n)
n=n+1
with open(r'data.txt','a+') as f:
f.write('{}----{}----{}\n'.format(i,user.name,user.followers_count))
except:
print("{}账号获取失败".format(i))
continue
print("------获取结束------")
if __name__ == '__main__':
userlist = ImportMonitor(r'monitor_list.txt')
print("------监控列表读取成功-----")
api = ApiAuthentic()
print('------'+api.me().screen_name + '认证成功------')
QueryFans(api,userlist)
最烦贴代码不放效果图的人了(狗头):
实现的功能是从记事本里取id然后通过api把数据保存到data.txt,打开txt如下图,分别是 用户名,id,粉丝数,所以,悟了吗?
四、一个更简单的demo
嗯,我就知道你还不会,所以我准备了一个更简单的例子,再来:
import tweepy
consumer_key = "你的key"
consumer_secret = "你的consumer_secret"
access_token = "你的token"
access_token_secret = "你的token_secret"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
public_tweets = api.home_timeline()
for tweet in public_tweets:
print(tweet.text)
home_timeline()方法APITweepy模块中的类用于获取由身份验证用户和该用户的朋友发布的20个最新状态,包括转发。
用法:
API.home_timeline(parameters)
参数:
since_ids:仅获取比指定ID更新的状态。
max_ids:仅获取早于或等于指定ID的状态。
count:要获取的状态数,默认值为20。
返回值:状态类的对象列表
看图,大概就是这样:
五、文档下载
最后再说一下Tweepy的特点:
API 类提供对整个 twitter restapi 方法的访问,每个方法都可以接受各种参数并返回响应。tweepy 同时也支持长链接的形式得到即时信息,没错就是 stream!tweepy API 的返回值一般都是对象,不同的对象取值字段不同,具体需要具体分析
- 推文相关—— Status 对象
- 用户相关—— User 对象
- 好友相关—— FriendShip 对象
- 搜索记录相关—— SavedSearch 对象
好了,Just Do it!
一些关于Twitter用户、粉丝、推文等等的操作,都在中文pdf里面,部分包含实例代码和注释。
tweepy库官方文档.pdf(英语原版):
tweepy库中文文档.pdf(中文):
点我下载
均是 0 积分,免费下载
👍👍👍
☆ ☆ ☆