我使用Streaming API做了一个Twitter抓取工具。它使用Net:Twitter:Stream在perl中编程。我认为它正在检索一些推文。昨晚我离开了它跟踪电视连续剧的推文,我只得到了30860条推文。我认为这是一个很低的价值。 你怎么看待这件事?我可以使用其他任何perl库吗? 我会把我的部分代码放在这里,看是否有问题。
谢谢大家
蒂亚戈
use JSON;
use Solr;
use Net::Twitter::Stream;
sub coletar{
Net::Twitter::Stream->new ( user => $username, pass => $password,
callback => \&got_tweet,
connection_closed_cb => \&connection_closed,
track => $track); #$track has my string search;
sub connection_closed {
if ($count==0){
sleep 10;
}
elsif($count==1){
sleep 20;
}
else{
sleep 240;
}
$count++;
warn "Connection to Twitter closed";
coletar(); #Recomeçando o download de tweets.
}
sub got_tweet {
$cont=0;
my ( $tweet, $json ) = @_;
# Here I save the tweet in my NoSQL database...
}
}
coletar;
答案 0 :(得分:2)
关于Twitter流,有几点要记住。首先,如果您的代码是瓶颈,传入推文的队列将溢出,您的连接将会死亡。所以很可能不是你的代码。
Twitter正在限制他们给予"常规"消费者,并收取全流量。所以你可能会达到速率限制,但很难确定。
测试您获得的推文百分比的一种方法是设置第二个帐户,该帐户随机发送应该在您的过滤器中捕获的推文。然后计算刮刀中捕获的那些推文的百分比。如果不是100%,你可能会受到限制。