tweepy1——抓取twitter数据

author author     2022-08-20     130

关键词:

之前一直想用爬虫登陆并抓取twitter数据,试过scrapy,requests等包,都没成功,可能是我还不太熟悉的原因,不过

今天发现了一个新包tweepy,专门用于在Python中处理twitter API。先尝试一下教程的第一个例子,经过了自己的一点修改

代码如下:

 

Tweepy抓取twitter数据 1 
   
import re  
import tweepy  
  
auth = tweepy.OAuthHandler("xxxxx",  
                           "xxxxx")  
auth.set_access_token("xxxxx",  
                      "xxxxx")  
  
api = tweepy.API(auth)  
  
  
highpoints = re.compile(u‘[uD800-uDBFF][uDC00-uDFFF]‘)  
public_tweets = api.home_timeline()  
num = 0  
for tweet in public_tweets:  
    print num  
    num += 1  
    text_noem = highpoints.sub(‘--emoji--‘, tweet.text)  
    text_noem = text_noem.encode(‘utf8‘)        
  

 

 

代码解释:

第3-4行:导入tweepy和re模块。之所以这么简单的代码中要用re是因为在提取推文过程中遇到了emoji表情,而emoji unicode是无法编码成 gbk 的,所以要用正则表达式把所有表情都替换掉。

第6-9行:设置API和token,这个需要注册后在apps.twitter.com新建application后获得。

第11行:根据auth返回API对象,用于具体返回responses

第14行:设置emoji表情的正则表达式,用于过滤出所有的表情,此处参考了下面注明的一篇stackoverflow文章。

第15行:获取用户时间线上的信息

第16行:设置一个计数的变量

第17行:遍历所有的推文:

循环内:

第18-22行:输出序号,并输出推文内容,将所有的emoji unicode用 ’--emoji--‘ 替代并将unicode编码为utf8以解决不能输出的问题。



抓取Twitter数据的重点是twitter要求所有requets都必须经过OAuth认证,而tweepy这个包在这方面的设定让authentication变得十分方便。



参考文献:

http://stackoverflow.com/questions/13729638/how-can-i-filter-emoji-characters-from-my-input-so-i-can-save-in-mysql-5-5

 

 

 

Tweepy 3.5.0 Doc (1) Getting started

开始

简介

如果你是第一次接触Tweepy,就请从这里开始。这个教程的目标是提供你学习Tweepy所需的信息,让你学习完本教程后能熟练使用Tweepy。我们在这主要谈论重要的基础内容,而不会涉及太多细节,


你好 Tweepy

[python] view plain copy
  1. import tweepy  
  2.   
  3. auth = tweepy.OAuthHandler(consumer_key, consumer_secret)  
  4. auth.set_access_token(access_token, access_token_secret)  
  5.   
  6. api = tweepy.API(auth)  
  7.   
  8. public_tweets = api.home_timeline()  
  9. for tweet in public_tweets:  
  10.     print tweet.text  

这 个例子可以下载你Twitter主页上的推文,并且把相应的文本内容打印到控制台。Twitter要求所有请求(requests)都通过OAuth协议 进行授权(身份认证)。Authentication Tutorial(身份认证教程)(链接)中有授权的详细介绍。


API

API类为Twitter的所以REST API方法提供接口(The API class provides access to the entire twitter RESTful API methods.)每种方法接受不同的参数,但是都返回response。更多请参见API Reference(链接)


模型

当我们使用一种API方法时,我们大多数情况下会得到一个Tweepy model 类实例,其中包含了从Twitter返回的可以让我们应用到app中的数据。比如下面这行代码就返回了一个User model:

[python] view plain copy
  1. # Get the User object for twitter...  
  2. user = api.get_user(‘twitter‘)  


Model中包含了数据和一些有用的方法:

[python] view plain copy
  1. print user.screen_name  
  2. print user.followers_count  
  3. for friend in user.friends():  
  4.    print friend.screen_name  

 

更多内容请参见 ModelsReference(链接)



原文链接:

http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html

 

抓取 Twitter 用户和关注者数据

】抓取Twitter用户和关注者数据【英文标题】:CrawlTwitterUsersandFollowersData【发布时间】:2013-07-1021:46:08【问题描述】:我有一个庞大的twitter用户数据库(大约600万)。我有用户ID、登录句柄、他们最近的推文、联系方式、位置等... 查看详情

使用 Selenium 从 Twitter 抓取关注者

】使用Selenium从Twitter抓取关注者【英文标题】:ScrapingfollowersfromTwitterusingSelenium【发布时间】:2022-01-1610:54:56【问题描述】:我是Python新手,一直在尝试编写一个可以从Twitter抓取数据的应用程序。我尝试在堆栈和互联网上搜索所... 查看详情

如何使用 twint 库为整个国家/地区抓取 twitter

】如何使用twint库为整个国家/地区抓取twitter【英文标题】:howtoscrapetwitterforawholecountryusingtwintlibrary【发布时间】:2021-06-2800:48:06【问题描述】:您好,我想问一个关于使用Twint库从Twitter上抓取推文的问题基本上,要从特定位置... 查看详情

使用 Selenium Python 进行网页抓取 [Twitter + Instagram]

】使用SeleniumPython进行网页抓取[Twitter+Instagram]【英文标题】:WebScrapingwithSeleniumPython[Twitter+Instagram]【发布时间】:2017-08-1909:23:56【问题描述】:我正在尝试根据地理位置对Instagram和Twitter进行网络抓取。我可以运行查询搜索,但... 查看详情

通过调用twitterapi抓取twitter数据(代码片段)

国内研究weibo的人比较多,资料也相对较多,但是twitter的资料相对较少。今天简单说一下twitterapi的使用。最近一小需求,采集含有指定关键词的twitter数据,瞬间想到写个爬虫来抓取,后来突然想到twitter应该... 查看详情

使用Java从网页中抓取数据?

...2-1619:51:51【问题描述】:我正在为我的一个班级创建一个twitter机器人来练习使用队列并构建我的简历。我希望机器人从paper.li时事通讯中抓取Twitter句柄,然后向用户发送推文。这是一个示例网页。http://paper.li/profkane/1335985326我的... 查看详情

使用 rvest 在 Twitter 中抓取用户视频

】使用rvest在Twitter中抓取用户视频【英文标题】:ScrapingusersvideoinTwitterwithrvest【发布时间】:2018-10-2513:36:27【问题描述】:我正在使用rvest抓取网络中的一些网络静态元素。但是,我无法抓取动态内容。比如下面videopost中如何抓... 查看详情

如何使用 Tweepy 获取 Twitter 生物信息

】如何使用Tweepy获取Twitter生物信息【英文标题】:HowtogetTwitterbioinformationwithTweepy【发布时间】:2020-02-0204:42:03【问题描述】:我正在使用PythonTweepy在Twitter上抓取用户信息。目前,我可以毫无问题地抓取姓名、关注者数量和关注... 查看详情

api爬虫--twitter实战

本篇将从实际例子出发,展示如何使用api爬取twitter的数据。1.创建APP进入https://apps.twitter.com/,创建自己的app。只有有了app才可以访问twitter的api并抓取数据。只需创建最简单的app即可,各种信息随意填写,并不需要进一步的认证... 查看详情

将抓取的推文放入数据库

...。任何帮助将不胜感激。谢谢。【问题讨论】:暂时忽略Twitter-您需要先了解MySQL 查看详情

尝试将抓取的 Web 数据保存到文本文件时出错

...:我是新手,最近开始使用Python。我正在尝试将检索到的Twitter关注者从网络保存到文本文件,但它不起作用。这是我的代码:fortwusernamesindriver.find_elements_by_xpath(\'//div[ 查看详情

从whattomine中的链接接收JSON数据而不抓取HTML

...率、功率成本等)后被发送到的位置。在顶部栏(在蓝色Twitter关注按钮下方)是一个指向在页面加载后创建的JSON文件的链接,其中输入了 查看详情

阻止社交网络抓取会员链接

...要的。这是我的问题我有一个独特的链接,由用户在fb、twitter等社交网络上共享。当在该链接上触发唯一的ip点击时,我将奖励用户一些积分,但一旦用户共享链接,我就会看到7-8个数据库条目,这些条目来 查看详情

Twitter 不再适用于请求库 python

】Twitter不再适用于请求库python【英文标题】:Twitternolongerworkswithrequestslibrarypython【发布时间】:2020-09-2215:15:48【问题描述】:我有一个python函数,它使用requests库和BeautifulSoup来抓取特定用户的推文。importrequestsfrombs4importBeautifulSo... 查看详情

使用 Inspect 元素进行抓取

...我正在尝试通过抓取Instagram从Instagram获取一些信息。我在twitter上尝试过这段代码,它运行良好,但在Instagram上没有显示任何结果,这两个代码都可以在这里找到。推特代码:frombs4importBeautifulSoupfromurllib2im 查看详情

从网站抓取数据的3种最佳方法

...技术A1.使用网站API许多大型社交媒体网站,例如Facebook,Twitter,Instagram,StackOverflow,都提供API供用户访问其数据。有时,您可以选择官方API来获取结构化数据。如下面的FacebookGraphAPI所示,您需要选择进行查询的字段,然后订购... 查看详情

获取reddit数据[关闭]

...兴趣从不同的redditsubreddit获取数据。有谁知道是否有类似twitter的reddit/otherapi来抓取所有页面?【问题讨论】:【参考方案1】:是的,reddit有一个API可用于各种目的,例如数据收集、自动评论机器人,甚至可以协助subreddit审核。 查看详情

以 JSON 格式获取 Twitter 订阅源,无需身份验证

】以JSON格式获取Twitter订阅源,无需身份验证【英文标题】:GetTwitterFeedasJSONwithoutauthentication【发布时间】:2012-11-0709:41:12【问题描述】:几年前我写了一个小的JavaScript,它抓取了用户(我的)最近的一条推文,然后将其解析出... 查看详情