- 签证留学 |
- 笔译 |
- 口译
- 求职 |
- 日/韩语 |
- 德语
我们会用到一个叫做python-twitter的Python库,其源代码可以在http://code.google.com/p/python-twitter/下载。正如你猜到的那样,借助它,我们可以使用Python来访问Twitter。Twitter.com实际上是一个和其他人进行交流的通道,其上发表的内容被限制在140个字符以内,发表的一条信息称为推文(tweet)。
有关Twitter API的文档可以在http://dev.twitter.com/doc找到。API文档与Python模块中的关键词并不完全一致。我推荐直接阅读Python文件twitter.py,以完全理解库的使用方法。有关该模块的安装可以参考附录A。虽然这里只会用到函数库的一小部分,但是使用API可以做更多事情,所以我鼓励读者去探索一下API的所有功能。
示例:发现Twitter源中的共现词(co-cocuring word)
(1)收集数据:使用python-twitter模块来访问推文。
(2)准备数据:编写一个函数来去掉URL、去掉标点、转换成小写并从字符串中建立一个单词集合。
(3)分析数据:在Python提示符下查看准备好的数据,确保它的正确性。
(4)训练算法:使用createTree()与mineTree()函数执行PP-growth算法。
(5)测试算法:这里不适用。
(6)使用算法:本例中没有包含具体应用,可以考虑用于情感分析或者查询推荐领域。
在使用API之前,需要两个证书集合。第一个集合是consumer_key和consumer_secret,当注册开发app时(https://dev.twitter.com/apps/new)),可以从Twitter开发服务网站获得。这些key对于要编写的app是特定的。第二个集合是access_token_key和access_token_secret,它们是针对特定Twitter用户的。为了获得这些key,需要查看Twitter-Python 安装包中的get_access_token.py文件(或者从Twitter开发网站中获得)。这是一个命令行的Python脚本,该脚本使用OAuth来告诉Twitter应用程序具有用户的权限来发布信息。一旦完成上述工作之后,可以将获得的值放入前面的代码中开始工作。对于给定的搜索词,下面要使用FP_growth算法来发现推文中的频繁单词集合。要提取尽可能多的推文(1400条)然后放到FP_growth算法中运行。将下面的代码添加到fpGrowth.py文件中。
程序清单1 访问Twitter Python库的代码
这里需要导人三个库,分别是twitter库、用于正则表达式的库,以及sleep函数。后面会使用正则表示式来帮助解析文本。
函数getLotsOfTweets() 处理认证然后创建一个空列表。搜索API可以一次获得100条推文。每100条推文作为一页,而Twitter允许一次访问14页。在完成搜索调用之后,有一个6秒钟的睡眠延迟,这样做是出于礼貌,避免过于频繁的访问请求。print语句用于表明程序仍在执行没有死掉。
下面来抓取一些推文,在Python提示符下输入:
>>> reload(fpGrowth)
<module 'fpGrowth' from 'fpGrowth.py'>