エックスサーバーでcloudscraper ②Miniconda編

エックスサーバーで動くPHPプログラムからCloudflare利用サイトにアクセスできないことがあった。
Pythonに cloudscraper というパッケージがあり、venvで使おうとしてみたがOpenSSLが古い問題が発生したので、MinicondaでPython最新版の環境を作ってみる。

参考サイト:PythonのWebアプリをXserverで動かす(Flask編)

まとめ

  • cloudscraperは動いた。
  • けど curl-impersonate の方が軽くていいので結局使わないことにした。

ダウンロード

$ wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh

インストール

$ bash Miniconda3-latest-Linux-x86_64.sh

インストール先は /home/{user}/python/miniconda3 を指定。

yes/no はすべて yes に。

現在のシェルで有効化

$ source ~/.bashrc

(base)$

自動的にcondaのbase環境が有効化されるよう、.bashrc にコードが追記されている。

base環境を有効にしなくていい場合は次のコマンドを実行する。

(base)$ conda deactivate

$ conda config --set auto_activate_base false

Python最新版の環境を作る

$ conda create --name v3.12 python=3.12

$ conda activate v3.12

(v3.12)$

cloudscraper

(v3.12)$ pip install cloudscraper

(v3.12)$ vi cloud_scraper.py
              :
(公式サンプルコードをCloudflareサイトURLにしたファイルを作る)

(v3.12)$ python cloud_scraper.py

動いた。

ヘッドレスブラウザほど重くないが、curlコマンドよりは重い感触。

インタプリタ指定を次のように書いたら、このPythonファイルを外部から起動できた。

#!/home/{user}/python/miniconda3/envs/v3.12/bin/python

conda環境から抜ける

(v3.12)$ conda deactivate

$

conda削除

  • インストール先ディレクトリ、ダウンロードファイルなど削除
  • .bashrc に追記されたcondaの記述を削除
  • ~/.conda ディレクトリ削除
  • ~/.cache/conda ディレクトリ削除
  • ~/.cache/pip ディレクトリ削除