lehre:ss12:v_mmisdb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
lehre:ss12:v_mmisdb [11.09.2012 08:24] Alexander Bazolehre:ss12:v_mmisdb [11.09.2012 08:27] Alexander Bazo
Zeile 108: Zeile 108:
 **Grundsätzliches zum Crawlen von Tweets** **Grundsätzliches zum Crawlen von Tweets**
  
-Twitter bietet großartige Möglichkeiten schnell und einfach an große Menge strukturierter, von Nutzern generierter Inhalte zu gelangen. Zu beachten sind bei der automatischen Verarbeitung von Tweets aber immer auch die [[https://dev.twitter.com/terms/api-terms|Developer Rules of the Road]] in denen Twitter festlegt, wer zu welchem Zweck und in welchem Umfang das API nutzen darf, eine kurze Zusammenfassung stellt Twitter [[https://dev.twitter.com/docs/terms/summary|hier]] zur Verfügung. Generell sollte es vermieden werden, Tweets zu crawlen, zu speichern und dann unabhängig vom eigentlichen Twitter-Service (kommerziell) zu veröffentlichen. Über das Online-Interface der Twitter Developer Page besteht die Möglichkeit, die meisten Funktionen des API (des [[https://dev.twitter.com/docs/api/1.1|Twitter REST PI]] zu nutzen, in dem über das ''OAuth tool'' ein String generiert wird, der über [[http://de.wikipedia.org/wiki/CURL|cURL]] genutzt werden kann. Auch damit ist crawlen möglich, für komplexere Anwendungen und die direkte Verarbeitung der gecrawlten Tweets empfiehlt sich die Nutzung einer der Programm-Bibliotheken, die Twitter für verschiedenen Programmier- und Skriptsprachen zugänglich machen. Für Java existiert beispielsweise [[http://twitter4j.org/en/index.html|twitter4j]].+Twitter bietet großartige Möglichkeiten schnell und einfach an große Menge strukturierter, von Nutzern generierter Inhalte zu gelangen. Zu beachten sind bei der automatischen Verarbeitung von Tweets aber immer auch die [[https://dev.twitter.com/terms/api-terms|Developer Rules of the Road]] in denen Twitter festlegt, wer zu welchem Zweck und in welchem Umfang das API nutzen darf, eine kurze Zusammenfassung stellt Twitter [[https://dev.twitter.com/docs/terms/summary|hier]] zur Verfügung. Generell sollte es vermieden werden, Tweets zu crawlen, zu speichern und dann unabhängig vom eigentlichen Twitter-Service (kommerziell) zu veröffentlichen. Über das Online-Interface der Twitter Developer Page besteht die Möglichkeit, die meisten Funktionen des API (des [[https://dev.twitter.com/docs/api/1.1|Twitter REST PI]]zu nutzen, in dem über das ''OAuth tool'' ein String generiert wird, der über [[http://de.wikipedia.org/wiki/CURL|cURL]] genutzt werden kann. Auch damit ist crawlen möglich, für komplexere Anwendungen und die direkte Verarbeitung der gecrawlten Tweets empfiehlt sich die Nutzung einer der Programm-Bibliotheken, die Twitter für verschiedenen Programmier- und Skriptsprachen zugänglich machen. Für Java existiert beispielsweise [[http://twitter4j.org/en/index.html|twitter4j]].
  
 **Crawlen mit Java & twitter4j** **Crawlen mit Java & twitter4j**
Zeile 114: Zeile 114:
  
 **Access/Consumer Token und Keys** **Access/Consumer Token und Keys**
-<code>+<code java>
 private static final String CONSUMER_KEY = "1337"; private static final String CONSUMER_KEY = "1337";
 private static final String CONSUMER_SECRET = "1337"; private static final String CONSUMER_SECRET = "1337";
Zeile 124: Zeile 124:
 Im ''ConfigurationBuilder'' werden die speziellen Token und Keys gespeichert um die Application gegenüber des Twitter API eindeutig zu identifizieren. Nur mit gültigen Token ist eine Validierung der Anfragen am Twitter-Server möglich. Im ''ConfigurationBuilder'' werden die speziellen Token und Keys gespeichert um die Application gegenüber des Twitter API eindeutig zu identifizieren. Nur mit gültigen Token ist eine Validierung der Anfragen am Twitter-Server möglich.
  
-<code>+<code java>
 private StatusListener listener; private StatusListener listener;
 private TwitterStream twitterStream; private TwitterStream twitterStream;
Zeile 141: Zeile 141:
 **Implementierung eines möglichen ''StatusListener''** **Implementierung eines möglichen ''StatusListener''**
 Ein möglicher ''StatusListener'' implementiert das Basis-Interface ''twitter4j.StatusListener''. Bei den zu implementierenden Methoden handelt es sich um Call-Backs, die zur Laufzeit automatisch aufgerufen werden, wenn beispielsweise ein neuer Tweet empfangen wird (''onStatus(Status status)''). Das ''Status''-Objekt kapselt den empfangenen Tweet. Über entsprechende Getter-Methoden können alle relevanten Informationen ausgelesen werden und dann beispielsweise in einer Datenbank gespeichert werden. Ein möglicher ''StatusListener'' implementiert das Basis-Interface ''twitter4j.StatusListener''. Bei den zu implementierenden Methoden handelt es sich um Call-Backs, die zur Laufzeit automatisch aufgerufen werden, wenn beispielsweise ein neuer Tweet empfangen wird (''onStatus(Status status)''). Das ''Status''-Objekt kapselt den empfangenen Tweet. Über entsprechende Getter-Methoden können alle relevanten Informationen ausgelesen werden und dann beispielsweise in einer Datenbank gespeichert werden.
-<code>+<code java>
 public class StatusListener implements twitter4j.StatusListener{ public class StatusListener implements twitter4j.StatusListener{
   
Zeile 177: Zeile 177:
  
 **Erzeugen des Listeners sowie eines ''TwitterStream''-Objektes und zuweisen der Konfiguration und Verknüpfung von Listener und Stream** **Erzeugen des Listeners sowie eines ''TwitterStream''-Objektes und zuweisen der Konfiguration und Verknüpfung von Listener und Stream**
-<code>+<code java>
 listener = new StatusListener(); listener = new StatusListener();
 twitterStream = new TwitterStreamFactory(config.build()).getInstance(); twitterStream = new TwitterStreamFactory(config.build()).getInstance();