C'est Getta. Je suis environ 20e. Je présenterai ma recherche gratuite.
……
J'écrirai le motif ci-dessous, mais cela m'intéressait, alors je l'ai essayé et j'ai pu l'implémenter rapidement, donc Quand j'ai pensé à le donner à qiita, c'était juste le moment de l'ad-care, donc je le posterai de manière appropriée.
Lorsque M. Ninomiya d'Arashi a annoncé son mariage, Wikipedia était en train d'être détruit.
Bien sûr, à cette époque, <était "Nino Marriage" dans la tendance Twitter.
Alors j'ai pensé: "Peut-être que les tendances de Wikipédia et de Twitter sont liées: penser:".
Ce qui me rend heureux quand il y a une relation, c'est que je peux acquérir des connaissances spécifiques tout en supprimant les tendances simplement en regardant Wikipedia, et je pense que je peux en savoir plus sur les tendances que de regarder SNS.
Obtenez les tendances Twitter avec l'API.
def auth_api():
auth = tweepy.OAuthHandler(api_key.CONSUMER_KEY, api_key.CONSUMER_SECRET)
auth.set_access_token(api_key.ACCESS_TOKEN, api_key.ACCESS_SECRET)
return tweepy.API(auth)
def get_trend_words():
api = auth_api()
trends = api.trends_place("23424856") #WOEID japonais
trend_words = []
for d in trends[0]["trends"]:
trend_words.append(d["name"])
return trend_words
Gratter la page la plus récemment mise à jour de Wikipédia pour obtenir une liste.
def get_wikipedia_log_keywords():
url = 'https://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:%E6%9C%80%E8%BF%91%E3%81%AE%E6%9B%B4%E6%96%B0?hidebots=1&hidecategorization=1&hideWikibase=1&limit=500&days=7&urlversion=2' #Si vous modifiez la limite, le nombre d'acquisitions changera
html = requests.get(url)
soup = bs4.BeautifulSoup(html.text, "html5lib")
keywords = [el.text for el in soup.find_all(class_="mw-changeslist-title")]
return keywords
Recherchez complètement chaque liste, et si les mots correspondent, comptez-les et divisez-les par la longueur de la liste à afficher.
import twitter_trend
import wikipedia_ch_log
def main():
print("------wikipedia 500 keywords------")
print()
wiki = wikipedia_ch_log.get_wikipedia_log_keywords()
print(wiki)
print()
print("------twitter trends------")
print()
twi = twitter_trend.get_trend_words()
print(twi)
cnt = 0
for s in twi:
if "#" in s:
s = s[1:] #Suppression des balises de hachage
for s2 in wiki:
if s in s2:
print("same word :", s, s2)
cnt += 1
print("count :", cnt)
print("coincidence :", cnt / (max(len(twi), len(wiki))))
if __name__ == "__main__":
main()
Puis-je utiliser le code de saut de ligne dans pythonista3?
Parfois, ils ne correspondent pas du tout.
Un seul match. Le haut est la liste Wikipédia et le bas la tendance Twitter. Il y avait une correspondance pour "Toshinobu Kubota" avec un degré de correspondance de 0,002.
Cette fois, j'ai comparé Wikipedia et Twitter, Il n'y avait que 0 à 1 correspondances pour environ 500 Wikipédia et environ 50 tendances Twitter.
Même si je n'ai pas ressenti de pression, il y a eu au plus 4 matchs.
Ce résultat n'est pas tant lié à ceux-ci que Il y avait un problème avec la méthode d'évaluation.
Pour le moment, nous sommes en train de supprimer le hash tag de Twitter, mais cela ne suffit pas, Comme je l'ai dit au début, même si vous entrez dans une tendance telle que "Nino Marriage", elle devrait être enregistrée comme "Kazuya Ninomiya" sur Wikipedia. Bien sûr, cette méthode ne correspond pas.
Pour bien gérer cela, il peut être préférable d'extraire d'une manière ou d'une autre les mots associés de chaque mot de tendance (par exemple, recherche Google), puis de le comparer avec Wikipedia.
En outre, la valeur d'évaluation a été définie de sorte que la valeur maximale soit 1 pour le moment, mais la taille de la plus grande liste est effective pour la valeur d'évaluation, mais la taille de la plus petite liste (tendance dans ce cas) est complètement évaluée. Puisqu'il n'affecte pas, la formule d'évaluation n'est pas très bonne.
J'avais une idée de sortir l'histoire de Wikipedia d'avant, mais je ne l'ai pas fait parce que c'était un problème, mais je suis content d'avoir pu le faire très facilement. La tendance de Twitter a également été préparée par API, et j'étais heureux de pouvoir le faire rapidement car j'avais déjà la clé API.
Si je continue à le faire à l'avenir, j'aimerais étudier plus en détail le degré d'accord en omettant les mots connexes.
Par conséquent, si vous savez à quel point cela est lié aux tendances, vous pourrez peut-être lire automatiquement les articles de Wikipédia et créer un site qui explique les tendances en tant que sous-produit.
Mon article Pour se rappeler comment utiliser BS4
Recommended Posts