C'est en mai, mais c'est une histoire sur la publication d'un service Web qui visualise les tweets positionnés de Twitter. Je veux me débarrasser de cette racine sexuelle qui brûle quand je peux faire ce que je veux faire. Il est joué avec succès.
Il est fabriqué à partir de bouteille, mais c'est très simple. Après tout, la duplication reste la même et l'heure n'est pas au Japon. C'est un bon exemple de brûler les détails tels qu'ils sont.
À propos, pour l'API, bien sûr, utilisez GET search / tweets. Tente de collecter éventuellement des données à proximité avec l'option de géocodage. Si vous effectuez une recherche dans tout le pays, les 100 premiers mots clés seront recherchés dans la recherche, de sorte que vous ne verrez peut-être pas de tweets positionnés dans les résultats de la recherche. Dans ce cas, il n'y a pas d'autre choix que d'afficher une page d'erreur où rien n'est affiché.
Il y a peut-être d'autres bons moyens, mais je ne pouvais pas penser à cela.
Traitez en extrayant les informations de localisation du navigateur. Ensuite, si vous avez la possibilité de rechercher un quartier, la distance
geocoding = send_geo + "," + near
Combinez avec et passez.
@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
S'il n'y a pas de tweet positionné, un problème se produira, alors essayez de vous échapper. S'il n'est pas positionné, utilisez sauf pour effectuer un autre processus.
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]
Le géocodage est (tweet ["place"] ["bounding_box"] ["coordonnées"]) Je vais l'obtenir, mais si je fais cela, la nidification est terrible, alors j'annule la nidification.
Il s'agit du traitement de base dans le script Python. Le reste est écrit directement dans le fichier tpl.
Le processus d'écriture de Python en tpl comme suit. Avec cela, tous les tweets seront affichés correctement.
Les données du Tweet sont extraites de ce qui est stocké dans la base de données. Par exemple, enregistrer les données sous forme de texte brut.
%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>
Lors de l'écriture dans tpl, il peut être traité même si le retrait est ignoré. Si vous l'exportez tel quel, la commande sera dans le désordre, donc il sera formaté avec Jquery.
<script type="text/javascript">
$(function () {
$('ul').html(
$('li').sort(function(a, b) {
if ($(a).text() < $(b).text()) {
return 1;
} else {
return -1;
}
})
);
});
</script>
Il en va de même pour le traçage sur une carte, et Python est écrit en Javascript pour Google map.
%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}} Quelque chose est une variable dont le modèle a été renvoyé dans la bouteille. Un seul script Python traite environ 200 lignes.
Donc, quand j'ai essayé de l'exécuter sur le Web, cela ressemblait à ceci.
http://www.geo-twit.com/
utilisation? Je me demande s'il y a ...
Recommended Posts