Yahoo 뉴스와 Hatena 북마크와 같은 코멘트가있는 뉴스 사이트를 만들고 싶습니다.
코멘트를 모으는 방법?
코멘트를 모으는 것은, 지난의 일이군요.
조금 생각했지만 Twitter에서 뉴스를 트윗하는 댓글에서
빼내면 좋지 않을까 섬뜩했습니다 💡
파이썬에서 트위터 뉴스에 대한 코멘트를 추출했습니다.
import tweepy
import re
from collections import Counter
import unicodedata
import string
consumer_key = "twitterapiのconsumer_key"
consumer_secret = "twitterapiのconsumer_secret"
auth = tweepy.AppAuthHandler(consumer_key, consumer_secret)
api = tweepy.API(auth)
title = "ニュースのタイトル"
url = "ニュースのURL"
site_domain_name = "配信元"
title1 = r"" + re.escape(title) + r"(.|\s)*#\S+(\s|$)"
title2 = r"" + re.escape(title) + r"\s(.{0,40})https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
title3 = r"" + re.escape(title) + r"(.{0,40})https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
title4 = r"" + re.escape(title)
tweets = api.search(url, count=100, exclude='retweets', tweet_mode='extended', lang = 'ja', result_type='recent')
for tweet in tweets:
text = re.sub(title1, "", tweet.full_text)
text = re.sub(title2, "", text)
text = re.sub(title3, "", text)
text = re.sub(title4, "", text)
text = re.sub(r'((.*?))', "", text)
text = re.sub(r'\((.*?)\)', "", text)
text = re.sub(r'【(.*?)】', "", text)
text = re.sub(r'\[(.*?)\]', "", text)
text = re.sub(r'〔(.*?)〕', "", text)
text = re.sub(r'#\S+(\s|$)', "", text)
text = re.sub(r'#\S+(\s|$)', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+さんから', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+さん', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+から', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+より', "", text)
text = re.sub(r'|(.*)(\s|$)', "", text)
text = re.sub(r'\|(.*)(\s|$)', "", text)
text = re.sub(r'-\s(.*)(\s|$)', "", text)
text = re.sub(r'■(.*)(\s|$)', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+', "", text)
text = re.sub(r'https?://[\w/:%#\$&\?\(\)~\.=\+\-]+', "", text)
text = text.replace("【","").replace("】","").replace(">","").replace("/","").replace(":","").replace(":","").replace("/","").replace("|","").replace(".","").replace("“","").replace("”","")
text = text.replace("via","")
text = text.replace(site_domain_name,"")
lists = title.split(" ")
for list in lists:
text = text.replace(list,"")
text = text.lstrip()
text = text.rstrip()
comp_a = unicodedata.normalize("NFKC", text)
table = str.maketrans("", "", string.punctuation + "「」、。・!")
comp_a = comp_a.translate(table)
comp_b = unicodedata.normalize("NFKC", title)
table = str.maketrans("", "", string.punctuation + "「」、。・!")
comp_b = comp_b.translate(table)
if text != "" and len(text) > 1 and comp_a not in comp_b:
print(text)
완성된 뉴스 앱
NewsTweet(뉴스 트윗)
https://apps.apple.com/ko/app/newstweet-뉴스 트윗/id1531315934
Reference
이 문제에 관하여(Yahoo 뉴스와 Hatena 북마크와 같은 코멘트가있는 뉴스 사이트를 만들고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ausssxi/items/fc35f16f19f736c79811
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import tweepy
import re
from collections import Counter
import unicodedata
import string
consumer_key = "twitterapiのconsumer_key"
consumer_secret = "twitterapiのconsumer_secret"
auth = tweepy.AppAuthHandler(consumer_key, consumer_secret)
api = tweepy.API(auth)
title = "ニュースのタイトル"
url = "ニュースのURL"
site_domain_name = "配信元"
title1 = r"" + re.escape(title) + r"(.|\s)*#\S+(\s|$)"
title2 = r"" + re.escape(title) + r"\s(.{0,40})https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
title3 = r"" + re.escape(title) + r"(.{0,40})https?://[\w/:%#\$&\?\(\)~\.=\+\-]+"
title4 = r"" + re.escape(title)
tweets = api.search(url, count=100, exclude='retweets', tweet_mode='extended', lang = 'ja', result_type='recent')
for tweet in tweets:
text = re.sub(title1, "", tweet.full_text)
text = re.sub(title2, "", text)
text = re.sub(title3, "", text)
text = re.sub(title4, "", text)
text = re.sub(r'((.*?))', "", text)
text = re.sub(r'\((.*?)\)', "", text)
text = re.sub(r'【(.*?)】', "", text)
text = re.sub(r'\[(.*?)\]', "", text)
text = re.sub(r'〔(.*?)〕', "", text)
text = re.sub(r'#\S+(\s|$)', "", text)
text = re.sub(r'#\S+(\s|$)', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+さんから', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+さん', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+から', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+より', "", text)
text = re.sub(r'|(.*)(\s|$)', "", text)
text = re.sub(r'\|(.*)(\s|$)', "", text)
text = re.sub(r'-\s(.*)(\s|$)', "", text)
text = re.sub(r'■(.*)(\s|$)', "", text)
text = re.sub(r'@[a-zA-Z0-9_]+', "", text)
text = re.sub(r'https?://[\w/:%#\$&\?\(\)~\.=\+\-]+', "", text)
text = text.replace("【","").replace("】","").replace(">","").replace("/","").replace(":","").replace(":","").replace("/","").replace("|","").replace(".","").replace("“","").replace("”","")
text = text.replace("via","")
text = text.replace(site_domain_name,"")
lists = title.split(" ")
for list in lists:
text = text.replace(list,"")
text = text.lstrip()
text = text.rstrip()
comp_a = unicodedata.normalize("NFKC", text)
table = str.maketrans("", "", string.punctuation + "「」、。・!")
comp_a = comp_a.translate(table)
comp_b = unicodedata.normalize("NFKC", title)
table = str.maketrans("", "", string.punctuation + "「」、。・!")
comp_b = comp_b.translate(table)
if text != "" and len(text) > 1 and comp_a not in comp_b:
print(text)
NewsTweet(뉴스 트윗)
https://apps.apple.com/ko/app/newstweet-뉴스 트윗/id1531315934
Reference
이 문제에 관하여(Yahoo 뉴스와 Hatena 북마크와 같은 코멘트가있는 뉴스 사이트를 만들고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ausssxi/items/fc35f16f19f736c79811텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)