質問編集履歴

2

該当のソースコード

2022/08/25 07:56

投稿

YukiMoriNRT
YukiMoriNRT

スコア11

test CHANGED
@@ -1 +1 @@
1
- サーバーサイドSeleniumでスクショ時に、日本語が豆腐化する問題
1
+ サーバーサイドSeleniumでスクショ時に豆腐化
test CHANGED
@@ -1,14 +1,33 @@
1
- ### 前提
1
+ ### 発生している問題
2
2
  データ収集の案件のためVPSを契約し、Seleniumスクレイピングをしています。
3
3
  最初はどうせHeadlessだし、フォントをインストールせずにChromeだけインストールしてSeleniumしていました。URL等のテキストデータを抽出したり、ページの文章を抽出したテキストファイルをPCに落として閲覧するだけならこれで問題ありませんでした。
4
4
 
5
- しかしながら、ある時ページの文章をテキストデータではなくスクショで保存しなければならない案件があり、日本語フォントが入っていないせいでスクショが豆腐化してしまう問題が発生しました。
5
+ しかしながら、ある時ページの文章をテキストデータではなくスクショで保存しなければならない案件があり、日本語フォントが入っていないせいで豆腐化してしまう問題が発生しました。
6
- ググったらtexlive-lang-cjkというライブラリを入れると直ると書いてあったので試してみましたが、1回目と変わらず
6
+ ググったらtexlive-lang-cjkというライブラリ(この中に日本語フォントが入っている)を入れると直ると書いてあったので試してみましたが、1回目と同じように豆腐化
7
+ ただ、texlive-lang-cjkを入れてからはコンソール画面が文字化けしなくなったため、Chrome以外はちゃんとフォントが更新されているようです。
7
8
 
8
- おそらくフォントをインストールする前にChromeをインストールしたせいで、フォント情報無しでChromeが初期化されてしまったのでしょう
9
+ なぜChromeだけダメなのか不思議ですが、おそらく日本語フォントをインストールする前にChromeをインストールしたせいで、フォント情報無しでChromeが初期化されてしまった可能性が考えられます
9
- の場合、Chromeの設定ファイルを書き換えると思いますが、Linux初心者なのでどのファイルをいじればいいのかわかりません。
10
+ ような場合、Chromeの設定ファイルを自分で書き換える必要があると思いますが、Linux初心者なのでどのファイルをいじればいいのか見当がつきません。
10
11
  ご教授いただければ幸いです。
11
12
  ![豆腐化](https://ddjkaamml8q8x.cloudfront.net/questions/2022-08-25/606bcb53-f5fc-4ff6-85f3-936eb880094c.png)
13
+ ### 該当のソースコード
14
+ ```Python
15
+ from selenium.webdriver import なんちゃらの数行は省略
16
+
17
+ BASEURL = "https://b.hatena.ne.jp/"
18
+ FILENAME = "screen_selenium.png"
19
+
20
+ options = ChromeOptions()
21
+ ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
22
+ for arg in ['--headless', '--no-sandbox', '--window-size=800,600', '--user-agent=' + ua]:
23
+ options.add_argument(arg)
24
+ service = ChromeService(executable_path=r'/usr/bin/chromedriver')
25
+
26
+ with Chrome(service=service, options=options) as driver:
27
+ driver.get(BASEURL)
28
+ WebDriverWait(driver=driver, timeout=10).until(EC.presence_of_all_elements_located)
29
+ driver.save_screenshot(FILENAME)
30
+ ```
12
31
  ### 補足情報(FW/ツールのバージョンなど)
13
32
  WebArena Indigo
14
33
  2 CPU 2 GB

1

言葉足らずな点を補足

2022/08/25 07:26

投稿

YukiMoriNRT
YukiMoriNRT

スコア11

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,8 @@
1
1
  ### 前提
2
2
  データ収集の案件のためVPSを契約し、Seleniumスクレイピングをしています。
3
- 最初はどうせHeadlessだし、フォントをインストールせずにChromeだけインストールしてSeleniumしていました。URL等のテキストデータを抽出したり、ページの文章をPCに落として閲覧するだけなら問題ありませんでした。
3
+ 最初はどうせHeadlessだし、フォントをインストールせずにChromeだけインストールしてSeleniumしていました。URL等のテキストデータを抽出したり、ページの文章を抽出したテキストファイルをPCに落として閲覧するだけならこれで問題ありませんでした。
4
4
 
5
- しかしながら、ある時スクショ案件があり、日本語フォントが入っていないせいでスクショが豆腐化してしまう問題が発生しました。
5
+ しかしながら、ある時ページの文章をテキトデータではなくスクショで保存しなければならない案件があり、日本語フォントが入っていないせいでスクショが豆腐化してしまう問題が発生しました。
6
6
  ググったらtexlive-lang-cjkというライブラリを入れると直ると書いてあったので試してみましたが、1回目と変わらず。
7
7
 
8
8
  おそらく、フォントをインストールする前にChromeをインストールしたせいで、フォント情報無しでChromeが初期化されてしまったのでしょう。