3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GoogleColaboratory上でSeleniumを使用してスクリーンショットを撮ると文字化けする

Last updated at Posted at 2023-06-27

結論

日本語のフォントがインストールされていないことが原因のようです。
日本語のフォントをインストールすることで解決できます。

実際に起きたことを再現

GoogleColaboratory上でSeleniumを使用し、Webページのスクリーンショットを撮ったところ、画像のような文字化けが起こりました。
文字化けが起こさないようにできないか、調査しました。

.py
# webdriverのimportや他のoptionのコードは割愛
with webdriver.Chrome("chromedriver", options = options) as driver:
    driver.get('https://www.google.co.jp/?hl=ja')
    driver.save_screenshot('screenshot.png')

screenshot.png

調査

下記の記事が参考になります。

日本語フォントがColaboratoryには備わっていないことが原因のようです。

調査を踏まえた対策

下記のコマンドをselenium実行前に実行しておきます。

!apt-get install fonts-ipaexfont-gothic fonts-ipaexfont-mincho

参考記事の対処法と異なるのはcolaboratoryではyumが使用できないためです。
代わりにapt-getを使用して日本語フォントをインストールします。

これで前述のコードを実行すると文字化けが無くなります。

screenshot (1).png

補足

以前に私が投稿した記事。Google Colaboratoryでseleniumインストールするコマンドに、日本語フォントをインストールするコマンドを付けると忘れなくていいかもしれないです。

%%shell
# Ubuntu no longer distributes chromium-browser outside of snap
#
# Proposed solution: https://askubuntu.com/questions/1204571/how-to-install-chromium-without-snap

# Add debian buster
cat > /etc/apt/sources.list.d/debian.list <<'EOF'
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-buster.gpg] http://deb.debian.org/debian buster main
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-buster-updates.gpg] http://deb.debian.org/debian buster-updates main
deb [arch=amd64 signed-by=/usr/share/keyrings/debian-security-buster.gpg] http://deb.debian.org/debian-security buster/updates main
EOF

# Add keys
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DCC9EFBF77E11517
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 112695A0E562B32A

apt-key export 77E11517 | gpg --dearmour -o /usr/share/keyrings/debian-buster.gpg
apt-key export 22F3D138 | gpg --dearmour -o /usr/share/keyrings/debian-buster-updates.gpg
apt-key export E562B32A | gpg --dearmour -o /usr/share/keyrings/debian-security-buster.gpg

# Prefer debian repo for chromium* packages only
# Note the double-blank lines between entries
cat > /etc/apt/preferences.d/chromium.pref << 'EOF'
Package: *
Pin: release a=eoan
Pin-Priority: 500


Package: *
Pin: origin "deb.debian.org"
Pin-Priority: 300


Package: chromium*
Pin: origin "deb.debian.org"
Pin-Priority: 700
EOF

# Install chromium and chromium-driver
apt-get update
apt-get install chromium chromium-driver

# Install selenium
pip install selenium

# 日本語フォントをインストール
apt-get install fonts-ipaexfont-gothic fonts-ipaexfont-mincho

以上です。

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?