Python データ分析 プログラミング 自然言語処理

【Python】TwitterAPIで取得したツイートから@メンション・リツイート・URLを正規表現で除去する

この記事は約4分で読めます。

 

こんにちは、ミナピピン(@python_mllover)です。

 

今回はTwitterAPIで取得したツイートデータからメンションやURLを除去して自然言語処理を行う前処理のコードに書いたのでメモとして残しておきます。

 

Pythonではreモジュールを用いることで、文字列から正規表現による抽出・置換が可能なので、基本的にはreモジュールで全て事足ります。

 

スポンサーリンク
スポンサーリンク

ツイートのリツイートやメンション・URLを正規表現で除去する

 

def preprocess_wordcloud(doc): 
    # 数字を0に 
    doc = re.sub(r'\d+', '0', doc) 
    # メンション除去 
    doc = re.sub(r"@(\w+) ", "", doc) 
    # url除去 
    doc = re.sub(r"http\S+", "", doc)
    #リツイートを消す
    doc = re.sub(r"(^RT.*)", "", doc, flags=re.MULTILINE | re.DOTALL)
    # 大文字・小文字変換 
    doc = doc.lower() 
    #絵文字を消す
    emoji_pattern = re.compile("["
    u"\U0001F600-\U0001F64F"
    u"\U0001F300-\U0001F5FF"
    u"\U0001F680-\U0001F6FF"
    u"\U0001F1E0-\U0001F1FF"
    "]+", flags=re.UNICODE)
    doc = emoji_pattern.sub("", doc)
    # 不要記号削除
    pattern = '[!"#$%&\'\\\\()*+,-./:;<=>?@[\\]^_`{|}~「」〔〕“”◇ᴗ●↓→♪★⊂⊃※△□◎〈〉『』【】&*・()$#@。、?!`+¥%]' 
    doc = re.sub(pattern, ' ', doc) 
    return doc

 

<使用例1>

sample_text = '@test_2345 【重大告知】Yahoo支店では新型コロナウィルス感染症の予防・対策の一環として\n11/2営業時間および買取業務時間を添付画像の通りに変更させて頂きます。\nお客様にはご迷惑をおかけして申し訳ございません。\nご理解ご協力の程、何卒よろしくお願い申し上げます。 https://t.co/qmqlryAlW0'
preprocess_wordcloud(sample_text)

 

<結果>

' 重大告知 yahoo支店では新型コロナウィルス感染症の予防 対策の一環として\n0 0営業時間および買取業務時間を添付画像の通りに変更させて頂きます \nお客様にはご迷惑をおかけして申し訳ございません \nご理解ご協力の程 何卒よろしくお願い申し上げます  '

 

 

<使用例2>

sample_rttext = 'RT @test_2345 【重大告知】Yahoo支店では新型コロナウィルス感染症の予防・対策の一環として\n11/2営業時間および買取業務時間を添付画像の通りに変更させて頂きます。\nお客様にはご迷惑をおかけして申し訳ございません。\nご理解ご協力の程、何卒よろしくお願い申し上げます。 https://t.co/qmqlryAlW0'
preprocess_wordcloud(sample_text)

 

<結果>

'' #リツイートは削除される

 

参考:https://teratail.com/questions/206439

 

関連記事:【Python】ウマ娘のアプリレビューをスクレイピングしてワードクラウドを作ってみた

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

タイトルとURLをコピーしました