#!/usr/bin/perl
use strict;
use warnings;
use Net::Amazon::MechanicalTurk;
use Net::Amazon::MechanicalTurk::DelimitedWriter;
#
# This sample downloads your HITs from MechanicalTurk and writes
# the HITId's, HITTypeId's, Statuses and Titles to a CSV file.
#
# This sample demonstrates:
# 1. Using the SearchHITsAll method to iterate through HITs.
# 2. Using the DelimitedWriter class to write a CSV.
# It will properly quote fields containing new lines and commas.
# Quotes will also be escaped using double quotes.
#
my $out = Net::Amazon::MechanicalTurk::DelimitedWriter->new(
fieldSeparator => ",",
file => "hits.csv"
);
# fields I am interested in
my @fields = qw{
HITId
HITTypeId
HITStatus
Title
};
$out->write(@fields);
my $mturk = Net::Amazon::MechanicalTurk->new;
my $hits = $mturk->SearchHITsAll;
my $count = 0;
while (my $hit = $hits->next) {
my @row;
foreach my $field (@fields) {
push(@row, $hit->{$field}[0]);
}
$out->write(@row);
$count += 1;
}
$out->close;
print "Wrote " . $count . "hit lines into hits.csv" . "\n";
syntax highlighted by Code2HTML, v. 0.9.1