2020年8月15日土曜日

Dockerでpython3.8とnewspaper3kをインストールしたコンテナ(Alpine3.12ベース)を作成する

newspaper3kでウェブページを読み込んで解析する事ができます。

イメージの作成と実行

以下のコマンドとDockerfileを使用してpython3.8とnewspaper3kがインストールされたイメージを作成する事ができます。

docker build -t dk-newspaper3k .

Dockerfile
FROM python:3.8-alpine3.12
RUN apk --no-cache add libstdc++ \
    libxml2 \
    libxslt \
    libjpeg-turbo \
  && apk --no-cache --virtual pydeps add gcc \
    g++ \
    python3-dev \
    musl-dev \
    cython \
    libxml2-dev \
    libxslt-dev \
    jpeg-dev \
    zlib-dev \
    libpng-dev \
  && pip install newspaper3k \
  && apk del --purge pydeps
CMD ["/bin/sh"]

以下のコマンドでサンプルコードを実行して、ウェブページから題名、本文を表示します。
docker run -v `pwd`:/tmp --rm -it dk-newspaper3k /usr/local/bin/python3 /tmp/test.py

test.py
from newspaper import Article
a = Article('https://www.python.org/', language='en')

a.download()
a.parse()
# print title/text of the page.
print(a.title)
print(a.text)

関連情報

・プロジェクトgithubリポジトリ https://github.com/codelucas/newspaper

0 件のコメント:

コメントを投稿