[GO] [Python + Flasche] Ich habe einen Webdienst veröffentlicht, der die positionierten Tweets von Twitter visualisiert.

Es ist Mai, aber es ist eine Geschichte über die Veröffentlichung eines Webdienstes, der die positionierten Tweets von Twitter visualisiert. Ich möchte diese sexuelle Wurzel loswerden, die ausbrennt, wenn ich machen kann, was ich machen will. Es wird mit Beifall gespielt.

Es besteht aus einer Flasche, ist aber sehr einfach. Immerhin bleibt die Vervielfältigung gleich und die Zeit ist nicht in Japan. Dies ist ein gutes Beispiel für das Ausbrennen der Details.

Übrigens, für API verwenden Sie natürlich GET-Suche / Tweets. Versuche, optional Daten in der Nähe mit der Geocode-Option zu erfassen. Wenn Sie landesweit suchen, werden die Top-100-Keywords in der Suche gesucht, sodass Sie möglicherweise keine positionierten Tweets in den Suchergebnissen sehen. In diesem Fall bleibt keine andere Wahl, als eine Fehlerseite anzuzeigen, auf der nichts angezeigt wird.

Es mag andere gute Wege geben, aber daran konnte ich nicht viel denken.

Prozess durch Abrufen von Standortinformationen aus dem Browser. Wenn Sie dann die Möglichkeit haben, nach einer Nachbarschaft zu suchen, geben Sie die Entfernung an

geocoding = send_geo + "," + near

Kombinieren mit und bestehen.

@route("/show", method="GET")
def send_geos():
	send_geo = request.query.send_geo
	search_words = request.query.search_words
	near = request.query.near
	geocoding = send_geo + "," + near
	
	
	if search_words:
		C_KEY = "****************"
		C_SECRET = "****************"
		A_KEY = "****************"
		A_SECRET = "****************"

		url = "https://api.twitter.com/1.1/search/tweets.json?"
		
		if near:
			params = {
			"q": (search_words, "utf-8"),
			"lang": "ja",
			"geocode": (geocoding),
			"result_type": "mixed",
			"count": "100"
			}		
			tw = OAuth1Session(C_KEY,C_SECRET,A_KEY,A_SECRET)
			req = tw.get(url, params = params)
			tweets = json.loads(req.text)
			dic = tweets
		else:
			params = {
			"q": (search_words, "utf-8"),
			"lang": "ja",
			"result_type": "mixed",
			"count": "100"
			}		
			tw = OAuth1Session(C_KEY,C_SECRET,A_KEY,A_SECRET)
			req = tw.get(url, params = params)
			tweets = json.loads(req.text)
			dic = tweets

Wenn kein positionierter Tweet vorhanden ist, tritt ein Problem auf. Versuchen Sie daher, dort zu entkommen. Wenn es nicht positioniert ist, verwenden Sie außer, um einen anderen Prozess auszuführen.


		if req.status_code == 200:
			for tweet in tweets["statuses"]:
				created_at = YmdHMS(tweet["created_at"])
				User = (tweet["user"]["screen_name"].encode("utf-8"))
				U_Name = (tweet["user"]["name"].encode("utf-8"))
				U_img = (tweet["user"]["profile_image_url"])
				Text = (tweet["text"].encode("utf-8"))
				if "http" in "Text":
					Text = Text.split("http", 1)[0]
					Text = Text.split("@")[0]
					Text = Text.split("RT")[0]


				try:
					Place = (tweet["place"]["bounding_box"]["coordinates"])
					
					flat_list = []
					for e in Place:
						flat_list.extend(e)
    	
					flat_list2 = []
					for b in flat_list:
						flat_list2.extend(b)
 
					flat_list3 = []
					for c in flat_list:
						flat_list3.extend(c)
    	
					geolng = flat_list3[0]
					geolat = flat_list3[1]

Geocode ist (tweet ["place"] ["bounding_box"] ["Koordinaten"]) Ich werde es bekommen, aber wenn ich das mache, ist die Verschachtelung schrecklich, also hebe ich die Verschachtelung auf.

Dies ist die grundlegende Python-In-Script-Verarbeitung. Der Rest wird direkt in die tpl-Datei geschrieben.

Der Vorgang des Schreibens von Python in tpl ist wie folgt. Damit werden alle Tweets richtig angezeigt.

Tweet-Daten werden aus dem in der Datenbank gespeicherten Daten abgerufen. Speichern Sie beispielsweise die Daten als Klartext.

%for line in f:			
%	line = line.rstrip()
%	l = line.split(",")
%	User = l[0]
%	U_Name = l[1]
%	U_img = l[2]
%	Text = l[3]
%	created_at = l[-3]
%geolng = l[-1]
%geolat = l[-2]
<li class="twlist">
	<font size="2" color="#d8d8d8">{{created_at}}・{{geolat}},{{geolng}}</font><br>
	<span class="fleft"><a href="https://twitter.com/{{User}}" target="_blank"><img src="{{U_img}}"></a></span>
	<b>{{U_Name}}</b> <font size="2"><a href="https://twitter.com/{{User}}" target="_blank">@{{User}}</a></font><br>{{Text}}<br><hr class="clear">
</li>
%end
<ul>

Beim Schreiben in tpl kann es auch dann verarbeitet werden, wenn der Einzug ignoriert wird. Wenn Sie es so exportieren, wie es ist, ist die Bestellung nicht in Ordnung, sodass sie mit Jquery formatiert wird.

<script type="text/javascript">
$(function () {
  $('ul').html(
    $('li').sort(function(a, b) {
      if ($(a).text() < $(b).text()) {
        return 1;
      } else {
        return -1;
      }
    })
  );
});
</script>

Gleiches gilt für das Plotten auf einer Karte, und Python ist in Javascript für Google Map geschrieben.

%for line in f:			
%	line = line.rstrip()
%	l = line.split(",")
%	User = l[0]
%	U_Name = l[1]
%	U_img = l[2]
%	Text = l[3]
%	created_at = l[-3]
%geolng = l[-1]
%geolat = l[-2]
              ['<a href=https://twitter.com/{{User}} target="_blank"><img src={{U_img}}></a><br>{{U_Name}}:{{User}}<br>{{created_at}}<br><marquee>{{Text}}</marquee>', {{geolat}}, {{geolng}}],
              
%end 
              ['You', {{default_tag}}]

{{User}} Etwas ist eine Variable, die als Vorlage in der Flasche zurückgegeben wurde. Ein einzelnes Python-Skript verarbeitet ungefähr 200 Zeilen.

Als ich versuchte, es im Web auszuführen, sah es so aus.

http://www.geo-twit.com/

verwenden? Ich frage mich, ob es ...

Recommended Posts

[Python + Flasche] Ich habe einen Webdienst veröffentlicht, der die positionierten Tweets von Twitter visualisiert.
Ich habe versucht, ein System zu erstellen, das nur gelöschte Tweets abruft
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
Ich habe eine Web-API erstellt
Ich habe eine Webanwendung in Python erstellt, die Markdown in HTML konvertiert
Ich habe versucht, einen Formatierer zu entwickeln, der Python-Protokolle in JSON ausgibt
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
[Python] Ich habe versucht, eine Shiritori-KI zu erstellen, die den Wortschatz durch Schlachten verbessert
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
[Markov-Kette] Ich habe versucht, die Zitate in Python einzulesen.
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
Ich habe versucht "Wie man eine Methode in Python dekoriert"
[Python] Ich habe versucht, Tweets über Corona mit WordCloud zu visualisieren
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
[1 Stunde Herausforderung] Ich habe versucht, eine Wahrsagerseite zu erstellen, die für Python zu geeignet ist
Ich habe versucht, einen Generator zu erstellen, der mit Python eine C # -Containerklasse aus CSV generiert
Ich habe versucht, mit Docker einen Dienst aufzubauen, der maschinell erlernte Daten mit explosiver Geschwindigkeit verkauft
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich habe versucht, eine Python-Datei in eine EXE-Datei zu verwandeln (Rekursionsfehler unterstützt)
Rubyist hat versucht, eine einfache API mit Python + Flasche + MySQL zu erstellen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, einen Dienst zu entwickeln, der Artikel nach Zweck auflisten kann
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, ein missverstandenes Gefangenendilemma in Python zu implementieren
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe ein Skript geschrieben, um Webseiten-Links in Python zu extrahieren
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[Python] Ich habe versucht, mit argparse ein einfaches Programm zu erstellen, das in der Befehlszeile funktioniert
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Ich habe versucht, ein Gerüstwerkzeug für Python Web Framework Bottle zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
Ich habe versucht, eine Blockchain zu implementieren, die tatsächlich mit ungefähr 170 Zeilen funktioniert
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Mayungos Python Learning Episode 6: Ich habe versucht, eine Zeichenkette in eine Zahl umzuwandeln
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
[Outlook] Ich habe versucht, mit Python automatisch eine tägliche Berichtsmail zu erstellen
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Starten Sie einen Webserver mit Bottle and Flask (ich habe auch versucht, Apache zu verwenden)