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

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

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

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

import

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

Python 3.x

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

Mecab

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

Q&A

受付中

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

LUCKEY113
LUCKEY113

総合スコア4

Django

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

import

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

Python 3.x

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

Mecab

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

0回答

0グッド

0クリップ

74閲覧

投稿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

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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 メソッドがないのです。

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

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

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

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

ただいまの回答率
86.02%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Django

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

import

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

Python 3.x

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

Mecab

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