前言

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。
返回值:状态类的对象列表

看图,大概就是这样:
homeline

五、文档下载

最后再说一下Tweepy的特点:

API 类提供对整个 twitter restapi 方法的访问,每个方法都可以接受各种参数并返回响应。tweepy 同时也支持长链接的形式得到即时信息,没错就是 stream!tweepy API 的返回值一般都是对象,不同的对象取值字段不同,具体需要具体分析

  • 推文相关—— Status 对象
  • 用户相关—— User 对象
  • 好友相关—— FriendShip 对象
  • 搜索记录相关—— SavedSearch 对象

好了,Just Do it!

一些关于Twitter用户、粉丝、推文等等的操作,都在中文pdf里面,部分包含实例代码和注释。

tweepy库官方文档.pdf(英语原版):

点我下载

tweepy库中文文档.pdf(中文):
点我下载

均是 0 积分,免费下载

👍👍👍
☆ ☆ ☆

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐