トップページ -> データベース関連技術 -> doc2vec -> Web ページのダウンロード,単語に切り分け,形態素解析(Python, Mecab, BeautifulSoap を使用)
[サイトマップへ], [サイト内検索へ]

Web ページのダウンロード,単語に切り分け,形態素解析(Python, Mecab, BeautifulSoap を使用)


前準備

Python のインストール,pip と setuptools の更新,Python 開発環境のインストール

Windows の場合

  1. Python のインストール

    Python の URL: http://www.python.org/

    インストール手順の詳細は: 別ページで説明している.

  2. pip と setuptools の更新Python 開発環境(JupyterLab, spyder)のインストール

    コマンドプロンプトを管理者として実行し,次のコマンドを実行.

    python -m pip install -U pip setuptools
    python -m pip install -U jupyterlab jupyter jupyter-console jupytext spyder
    

Ubuntu の場合

システム Python を使用(インストール操作は不要)

  1. pip と setuptools の更新Python 開発環境(JupyterLab, spyder)のインストール

    次のコマンドを実行.

    sudo apt -yV install python3-dev python3-pip python3-setuptools
    sudo apt -yV install jupyter-qtconsole jupyter-notebook python3-jupyter-client python3-jupyter-console python3-spyder spyder3
    

MeCab のインストール

辞書の文字コードは UTF-8 を選ぶ.

python の mecab, bs4 のインストール


日本語文書からの単語の切り出し,品詞の判定

  1. Jupyter Qt Console を起動

    jupyter qtconsole
    

    [image]

    Python プログラムを動かして,結果をビジュアルに見たい.

    ここでは,Jupyter Qt Console を使っている. 他の開発環境(spyderPyCharmPyScripter など)も便利である.

    ここから先は,Jupyter Qt Console の画面で説明する.

  2. プログラムの実行

    日本語の文章から,単語を切り出し,品詞を自動判定する Python プログラム

    import sys
    import MeCab
    m = MeCab.Tagger("-Ochasen")
    print(m.parse ("日本国民は、正当に選挙された国会における代表者を通じて行動し"))
    

    [image]

Web ページのダウンロードと単語の切り出し

  1. Web ページのダウンロード

    URL を指定して,Web ページをダウンロード.そして,確認表示を行う Python プログラム.

    import urllib.request
    r =  urllib.request.urlopen('https://www.kkaneko.jp')
    html = r.read()
    print(html.decode())
    

    [image]
  2. HTML タグの除去

    いまダウンロードした Web ページについて,BeautifulSoap を用いて,HTML タグを取り除く Python プログラム.テキストと JavaScript が残る.

    from bs4 import BeautifulSoup
    soup = BeautifulSoup(html,'html5lib')
    t = soup.get_text()
    print(t) 
    

    [image]
  3. プログラムの実行

    いまダウンロードした日本語の Web ページについて,MeCab を用いて,単語を切り出す Python プログラム

    import sys
    import MeCab
    m = MeCab.Tagger("-Ochasen")
    a = m.parse(t)
    words = [i.split()[0] for i in a.splitlines()]
    print(words) 
    

    [image]

本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]