前提
Twitterから取得してきたツイートから絵文字を除去したいです.
import emojiは先に書いてあります.
tw = emoji.replace_emoji(tw)
としたところ,下記のエラーが出てしまいました.
(ソースコードは一部抜粋です)
実現したいこと
emojiモジュールのエラーをなくしたい
発生している問題・エラーメッセージ
AttributeError at /hello/tw_an module 'emoji' has no attribute 'replace_emoji'
該当のソースコード
python
1def tw_an(request): 2 idea1 = IdeaModel.objects.filter(paper=1, section=1).first().idea1 3 4 j = 0 5 6 hint1 = [] 7 8 tagger = MeCab.Tagger() 9 node = tagger.parseToNode(idea1) 10 words = [] 11 hinshis = [] 12 13 while node: 14 word = node.surface 15 hinshi = node.feature.split(",")[0] 16 if hinshi == "名詞" or hinshi == "形容詞": 17 words.append(word) 18 hinshis.append(hinshi) 19 node = node.next 20 21 # 検索条件の設定 22 search_word = words 23 # 何件のツイートを取得するか 24 item_number = 3 25 # 検索条件を元にツイートを抽出 26 tweets = tweepy.Cursor(api.search_tweets, q=search_word, tweet_mode='extended', result_type="mixed", lang='ja').items(item_number) 27 # 抽出したデータから必要な情報を取り出す 28 # 取得したツイートを一つずつ取り出して必要な情報をtweet_dataに格納する 29 tw_data = [] 30 31 for tweet in tweets: 32 # tweet_dataの配列に取得したい情報を入れていく 33 tw_data.append( 34 tweet.full_text, 35 ) 36 37 tw = ''.join(tw_data) 38 39 # URLにマッチする正規表現パターン 40 pattern_url = r"https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)" 41 # ハッシュタグにマッチする正規表現パターン 42 pattern_hashtag = r"#[\w]+" 43 # 記号にマッチする正規表現パターン 44 pattern_simbol = '[!"#$%&\'\\\\()*+,-./:;<=>?@[\\]^_`{|}~「」〔〕“”〈〉〖〗『』【】&*・()$#@。、?!`+¥%▷]' 45 # URL除去 46 tw = re.sub(pattern_url, "", tw) 47 # ハッシュタグ除去 48 tw = re.sub(pattern_hashtag, "", tw) 49 # 記号除去 50 tw = re.sub(pattern_simbol, "", tw) 51 #絵文字除去 52 tw = emoji.replace_emoji(tw) 53 54 #tweepyで取得してきたツイートをMeCabにかける 55 tagger = MeCab.Tagger() 56 tw_node = tagger.parseToNode(tw) 57 tw_words = [] 58 tw_hinshis = [] 59 60 while tw_node: 61 tw_word = tw_node.surface 62 tw_hinshi = tw_node.feature.split(",")[0] 63 tw_shouhinshi = tw_node.feature.split(",")[1] 64 if tw_hinshi == "名詞" or tw_hinshi == "形容詞": 65 if tw_shouhinshi == "一般" or tw_shouhinshi == "固有名詞" or tw_shouhinshi == "サ変接続": 66 tw_words.append(tw_word) 67 tw_hinshis.append(tw_hinshi) 68 tw_node = tw_node.next 69 70 hint_count = collections.Counter(tw_words) 71 hint_most = hint_count.most_common(4) 72 73 i = 0 74 for times in hint_most: 75 h = hint_most[i] 76 hint = h[0] 77 hint1.append(hint) 78 i = i + 1 79 80 #sample_hint = hint[0] 81 82 j = j + 1 83
試したこと
emojiパッケージのバージョンが違うのかなと思いましたがよくわかりません.
参考にいろいろ試したサイトは下記の通りです.
https://qiita.com/qingmu/items/1c6a70fa3df5e18022f3
https://qiita.com/yoshimo123/items/85331d881aed9ad41020
補足情報(FW/ツールのバージョンなど)
Django 4.1.4
emoji 2.2.0
Python 3.10.8
あなたの回答
tips
プレビュー