机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5811|回复: 5
打印 上一主题 下一主题

Twitter工具使用实例

[复制链接]
跳转到指定楼层
楼主
发表于 2011-6-13 17:46:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今年使用Twitter下载工具的总结,希望明年不会再用到:((((
今年Twitter下载的流程是这样的
1)首先在网站下载“下载工具”lintool
2)在网站下载“Tweet种子”
3)使用lintool去抓取这些种子的html或者json格式文件
4)因为抓取过程中网络可能出错,因此需要repai步骤尽可能修复在爬虫抓取过程中的http错误
5)把下载的html或者json格式解读成正常html格式
6)索引(不是必须的),这样就可以简单的做检索了

由于国内被封,twitter无法访问,所有的下载过程需要在海外服务器上完成,要求安装有jre 1.6以上,ant包。我们不可能有海外服务器的管理员权限,因此我们采用的策略是相对路径调用java和ant。下载过程速度很慢,需要在多台海外服务器上并行完成。

以下是一个海外服务器的配置+运行全脚本,保存该脚本为CrawlT,运行时sh CrawlT tweetBlock1 [tweetBlock2] ...
会在海外服务器根目录下建立Twitter文件夹,运行完后将Twitter/lintool-twitter-corpus-tools-d604184/output 或者 Twitter/lintool-updated/output 中的所有-repair.tar.gz文件上传回本地服务器

#!/bin/sh
# 本脚本执行对某服务器的配置,并执行某些tweets数据集的抓取
# USAGE: sh CrawlT tweetsID1 tweetsID2 ...
# 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。

# 第一步,创建专用文件夹Twitter
mkdir Twitter
cd Twitter

# 第二步,下载部分。
# 下载JRE环境、ant包等,全部在Twitter文件夹下解压.
wget http://labs.renren.com/apache-mi ... nt-1.8.2-bin.tar.gz
tar -xzvf apache-ant-1.8.2-bin.tar.gz
wget http://59.77.16.75/main/~zq/jre.tar.gz
tar -xzvf jre.tar.gz
# 下载lintool在Twitter文件夹下,今年的lintool我在主页上放了一个
wget http://homepage.fudan.edu.cn/~ch ... ools-d604184.tar.gz
tar -xzvf lintool-twitter-corpus-tools-d604184.tar.gz
# 使用相对路径ant lintool
cd lintool-twitter-corpus-tools-d604184
~/Twitter/apache-ant-1.8.2/bin/ant

# 注意,以上的步骤也可以简单的下载一个JRE环境和一个已经ant好的lintool
wget http://59.77.16.75/main/~zq/jre.tar.gz
tar -xzvf jre.tar.gz
wget http://59.77.16.75/main/~zq/lintool-updated.tar.gz
tar -xzvf lintool-updated.tar.gz
cd lintool-updated

# 今年的tweets是20110123-20110208,分为17个block,在执行本脚本时输入这个范围内的一些tweets
# 下载种子文件在lintool的input文件夹下。产生类似input/20110123/20110123-001.dat这样的种子文件,第一次下载的文件放在html文件夹中,修复过的放在repair文件夹中,打包放在output文件夹中
mkdir input
mkdir output
mkdir html
mkdir repair

for B in $*; do
wget --http-user=tweets2011 --http-passw
d=NHwv6H4o http://ir.nist.gov/tweets2011/$B-1.0.tar.gz
tar -zxv -C input -f $B-1.0.tar.gz

# 针对每一个block里面的种子文件,利用lintool来下载,全部下载好之后repair


cd input
cd $B

for X in ls $B-*.dat
do

cd ..

cd ..
        echo "Handling $X"

if [ ! -e html/$X.html.seq ]; then
        ~/Twitter/jre/bin/java -Xmx500m -cp 'lib/*:dist/twitter-corpus-tools-0.0.1.jar' com.twitter.corpus.download.AsyncHtmlStatusBlockCrawler \
  -data input/$B/$X -output html/$X.html.seq

~/Twitter/jre/bin/java -Xmx500m -cp 'lib/*:dist/twitter-corpus-tools-0.0.1.jar' com.twitter.corpus.download.VerifyHtmlStatusBlockCrawl \
   -data input/$B/$X -statuses_input html/$X.html.seq \
   -statuses_repaired repair/$X.repaird.html.seq \
   -output_success repair/$X.repaired.log.success -output_failure repair/$X.repaired.log.failure

fi

cd input

cd $B
done

tar cvfz output/$B-repair.tar.gz repair/$B-*.*

done







分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2011-6-13 20:13:47 | 只看该作者
赞,太厉害了!

林老师V5
回复 支持 反对

使用道具 举报

板凳
发表于 2011-6-19 00:16:01 | 只看该作者
经验~!顶!
回复 支持 反对

使用道具 举报

地板
发表于 2011-6-19 00:16:04 | 只看该作者
经验~!顶!
回复 支持 反对

使用道具 举报

5#
发表于 2012-5-9 11:34:09 | 只看该作者
麻烦问下诸位,有没有根据上面方法或者其它方式得到的Twitter语料啊?现急需做研究分析用,请麻烦各位给与帮助。
回复 支持 反对

使用道具 举报

6#
发表于 2012-9-11 14:12:21 | 只看该作者
哦,知道为什么要repair了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-1 22:29 , Processed in 0.070498 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表