2009-11-02 15 views
6

Dla projektu badawczego chciałbym otrzymywać wiadomości z Twittera z ostatnich 3 miesięcy. Odsuwa wyzwania techniczne, czy to możliwe? używając pewnego rodzaju wolnego mechanizmu odpytywania, aby utrzymać limit prędkości na dystans?Uzyskiwanie danych historycznych z Twittera

Twitter API stwierdza: "Klienci mogą żądać do 3200 statusów za pośrednictwem strony i liczyć parametry dla REST API osi czasu" Czy są to godziny? Na dzień? lub ... kiedykolwiek?

Wszelkie sugestie? Czy byłoby to teoretycznie możliwe? Czy ktoś wcześniej zrobił coś podobnego?

Dzięki! Marco

+0

Kompleksowy przegląd: https: //gwu-libraries.github.io/sfm-ui/posts/2017-09-14-twitter-data – Nemo

Odpowiedz

4

Twitter notorycznie nie udostępnia "dostępnych" tweetów w wieku powyżej trzech tygodni. W niektórych przypadkach można uzyskać tylko jeden tydzień. Lepiej przechowywać tweety przez następne trzy miesiące. Wielu słusznie wątpi, czy nawet utrzymają się na Twitterze.

Szukasz tylko tweetów? Jeśli tak, sprawdź metodę przesyłania strumieniowego API: status/sample. Strumieniowe API używa trwałych gniazd HTTP, które mogą być trudnym programowaniem, ale jest całkiem zgrabny, gdy tylko działa. Zalecam ustawienie małego skryptu do zrzucania tweetów ze stanu/próbki do bazy danych. Po kilku dniach powinieneś mieć TONĘ danych.

+3

Uzgodniono, że nie można uzyskać starych danych, ale nie sądzę, aby ktokolwiek miał wątpliwości, że twitter archiwizuje co ostatni tweet, byłoby szalone, aby tego nie robić. – pents90

+2

Co masz na myśli przez "Wiele słusznych wątpliwości, czy nawet utrzymują się one na Twitterze?" Tweety nadal są wyświetlane na profilach starszych niż 3 tygodnie, które nie korzystają z interfejsu API. Lub nie rozumiem cię –

+0

@JackNicholson tweety są dostępne, ale nie w formie indeksowanej, ponieważ pojawiają się w twoim domu lub hashtagach. – rob

3

Można użyć interfejsu API wyszukiwania, nie należy go przeszukiwać, zwracać maksimum 100 na stronę, a następnie przejść przez każdą stronę dwa razy na minutę (120 razy na godzinę - 30 razy mniej niż limit stawki). Jeśli jednak moja matematyka jest poprawna, może to dać 720 000 tweetów na godzinę ... Problem polega na tym, że Twitter dodał około 1,75 miliarda tweetów w ciągu ostatnich 3 miesięcy. Więc jeśli moja matematyka jest poprawna, zajmie ci to 2361 dni, lub 6 lat, aby to ukończyć.

Możesz zadać to pytanie podczas dyskusji na temat rozwoju Twittera w Grupach dyskusyjnych Google lub skontaktować się z Twitterem, aby uzyskać białe listy, dzięki czemu możesz zgłosić 20 000 zgłoszeń na godzinę.

Osobiście uważam, że to niemożliwe.

+0

A więc w takim przypadku jest to bardziej -get jak najwięcej, i uwzględniać szacowany procent, który nie jest zrzucany? Jestem na białej liście, więc prawdopodobnie zajęłoby to około 20 dni, jeśli chciałbym je wszystkie zdobyć w teorii. – Marco

+2

Wierzę, że api wyszukiwania powraca tylko od 6 do 8 dni danych. – airportyh

1

DataSift twierdzi, że wkrótce udostępni plik danych historycznych dla Twittera, możesz się zarejestrować, aby otrzymać powiadomienie, gdy będzie dostępne here.

0

Dziurka od klucza może wyświetlić historyczne tweety w Xls lub przedstawić je w wizualnym pulpicie nawigacyjnym. Podgląd próbek zawiera tylko kilka najnowszych tweetów, jednak możesz wysłać do nich dane historyczne, jeśli je wyślesz.

Patrz: http://keyhole.co/conversation_tracking

0

Możesz przeczytać twitter historycznych danych przy użyciu narzędzia historyczne Gnip za POWERTRACK. Da ci to dostęp do wszystkich danych Twittera od pierwszego tweeta i dość proste użycie narzędzia.

-1

Możesz otrzymać bezpłatne oszacowania zakresu danych i kosztów za pomocą usługi zbudowanej przez moją firmę o nazwie Sifter. Jeśli zdecydujesz się na zakup dostępu do danych, będzie on dostępny za pośrednictwem naszej platformy analizy tekstu DiscoverText, w której możesz wyszukiwać, filtrować, usuwać duplikaty, klastry, kody ludzkie i klasyfikować dane według maszyn.

Powiązane problemy