質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Q&A

0回答

215閲覧

emojiモジュールを使用して絵文字を除去したい

LUCKEY113

総合スコア4

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

0グッド

0クリップ

投稿2023/01/24 07:22

前提

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melian

2023/01/24 07:27

そのスクリプトのファイル名が emoji.py だったり、もしくはカレントディレクトリに emoji.py というファイルはありませんか?
LUCKEY113

2023/01/24 07:34

Djangoの views.py に直接書いているのでファイル名が emoji.py ということはないです. また,カレントディレクトリにもありません… pip installは成功していますがエラーが出てしまいます.
melian

2023/01/24 07:44

emoji モジュールを import した後で、 print(emoji) を実行すると、どこから emoji モジュールを読み込んだのかが表示されます。確認してみてください。
LUCKEY113

2023/01/24 07:51

すみません. django.core.exceptions.ImproperlyConfigured: Requested setting EMOJI_IMG_TAG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 上記のようなエラーが出てしまいました.これはインストールがうまく出来ていないのでしょうか.
melian

2023/01/24 08:03

もしかして、emoji モジュールではなく django-emoji モジュールの方をインストールしていませんでしょうか?
LUCKEY113

2023/01/25 05:35

emojiモジュールがつかえなかったのでdjango-emojiのモジュールもインストールしました.
melian

2023/01/25 05:39

おそらく、django-emoji モジュールの方が使われているのだと思います。django-emoji には replace_emoji メソッドがないのです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問