Tweepy1——抓取Twitter数据
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share
之前一直想用爬虫登陆并抓取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://tweepy.readthedocs.io/en/v3.5.0/getting_started.html
Tweepy 3.5.0 Doc (1) Getting started
开始
简介
如果你是第一次接触Tweepy,就请从这里开始。这个教程的目标是提供你学习Tweepy所需的信息,让你学习完本教程后能熟练使用Tweepy。我们在这主要谈论重要的基础内容,而不会涉及太多细节,
你好 Tweepy
- import tweepy
- 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
这
个例子可以下载你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:
- # Get the User object for twitter...
- user = api.get_user('twitter')
Model中包含了数据和一些有用的方法:
- print user.screen_name
- print user.followers_count
- for friend in user.friends():
- print friend.screen_name
更多内容请参见 ModelsReference(链接)
Tweepy1——抓取Twitter数据的更多相关文章
- web scraper 抓取网页数据的几个常见问题
如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据. 相关文章: 最简单的数据抓取教程,人人都用得上 web scraper 进阶教程,人人都用得上 如果你在使用 web s ...
- Charles 如何抓取https数据包
Charles可以正常抓取http数据包,但是如果没有经过进一步设置的话,无法正常抓取https的数据包,通常会出现乱码.举个例子,如果没有做更多设置,Charles抓取https://www.bai ...
- 手把手教你用python打造网易公开课视频下载软件3-对抓取的数据进行处理
上篇讲到抓取的数据保存到rawhtml变量中,然后通过编码最终保存到html变量当中,那么html变量还会有什么问题吗?当然会有了,例如可能html变量中的保存的抓取的页面源代码可能有些标签没有关闭标 ...
- iOS开发——网络实用技术OC篇&网络爬虫-使用青花瓷抓取网络数据
网络爬虫-使用青花瓷抓取网络数据 由于最近在研究网络爬虫相关技术,刚好看到一篇的的搬了过来! 望谅解..... 写本文的契机主要是前段时间有次用青花瓷抓包有一步忘了,在网上查了半天也没找到写的完整的教 ...
- iOS开发——网络使用技术OC篇&网络爬虫-使用正则表达式抓取网络数据
网络爬虫-使用正则表达式抓取网络数据 关于网络数据抓取不仅仅在iOS开发中有,其他开发中也有,也叫网络爬虫,大致分为两种方式实现 1:正则表达 2:利用其他语言的工具包:java/Python 先来看 ...
- iOS—网络实用技术OC篇&网络爬虫-使用java语言抓取网络数据
网络爬虫-使用java语言抓取网络数据 前提:熟悉java语法(能看懂就行) 准备阶段:从网页中获取html代码 实战阶段:将对应的html代码使用java语言解析出来,最后保存到plist文件 上一 ...
- Node.js的学习--使用cheerio抓取网页数据
打算要写一个公开课网站,缺少数据,就决定去网易公开课去抓取一些数据. 前一阵子看过一段时间的Node.js,而且Node.js也比较适合做这个事情,就打算用Node.js去抓取数据. 关键是抓取到网页 ...
- C#抓取天气数据
使用C#写的一个抓取天气数据的小工具,使用正则匹配的方式实现,代码水平有限,供有需要的同学参考.压缩包中的两个sql语句是建表用的. http://files.cnblogs.com/files/yu ...
- 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定
首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定,我相信大多数人或公司应该都有抓取别人网站数据的经历,比如说我们博客园每次发表完文章 ...
随机推荐
- 第二阶段Sprint6
昨天:设置统一保存路径为内存卡,实现可以选择播放已有的视频 今天:将“录制”及“保存”整合到一起,修复出现的Bug,使之能够正常运行. 遇到的问题:感觉调的摄像头录制的画面不好,这怎么办啊?
- C#编程概述
一个简单的c#程序 标识符 标识符是一种字符串,用来命名变量.方法.参数和许多后面将要阐述的其他程序结构. 关键字 所有C#关键字都由小写字母组成,但是.NET类型名使用Pascal大小写约定. Ma ...
- MongoDB安装笔记
2017年11月17日,在Windows Service 2008R2上成功安装MongoDB. 版本:mongodb-win32-x86_64-2008plus-ssl-3.4.6-signed.m ...
- Internet History, Technology and Security (Week 5-2)
Week 5 (续) Layer 2: Internet Protocol The InterNetwork (IP) 老师强调了一下不用去记住他介绍的人所说的每句话,而是记住要点,了解老师所做的PP ...
- JS面向对象(封装,继承)
在六月份找工作中,被问的最多的问题就是: js面向对象,继承,封装,原型链这些,你了解多少? 额,,,我怎么回答呢, 只能说,了解一些,不多不少,哈哈哈哈,当然,这是玩笑话. 不过之前学过java,来 ...
- [转帖] 学习一下 apache bench 的总结简介 ( LAMP的没用过..)
PS:网站性能压力测试是性能调优过程中必不可少的一环.只有让服务器处在高压情况下才能真正体现出各种设置所暴露的问题.Apache中有个自带的,名为ab的程序,可以对Apache或其它类型的服务器进行网 ...
- 为什么选择 .NET Core?
为什么选择.NETCore? 学习新的开发框架是一项巨大的投资.您需要学习如何在新框架中编写,构建,测试,部署和维护应用程序.作为开发人员,有许多框架可供选择,很难知道什么是最适合的.即使您正在使用 ...
- MFC各种属性设置
在使用MFC的时候经常需要对例如对话框的外观进行一些设置.MFC哪些属性的含义和设置可以参照博客: http://www.cnblogs.com/lzmfywz/archive/2012/04/20/ ...
- 解决MySQL Slave 触发 oom-killer
最近经常有收到MySQL实例类似内存不足的报警信息,登陆到服务器上一看发现MySQL 吃掉了99%的内存,God ! 有时候没有及时处理,内核就会自己帮我们重启下MySQL,然后我们就可以看到 dme ...
- Django 2.0 学习(22):Django CSRF
Django CSRF CSRF攻击过程 攻击说明: 1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登陆网站A: 2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时 ...

