ロリポップでpipパッケージを使うpythonプログラムの実行
こちらのサイトを参考にローカルにディレクトリを作りそれのパスをpythonのコードに書いて実行するという方法を試してみた。
以下が簡単な流れ
mkdir vendor
pip install requests --target ./vendor
pip install beautifulsoup4 --target ./vendor
mkdir src
import os
import sys
# vendor以下をスクリプトの読み込みパスに追加
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), '../vendor'))
# 依存パッケージのロード
import requests
from bs4 import BeautifulSoup
# webページを読み込んでtitleタグのテキストを取得
url = 'https://yahoo.co.jp/'
res = requests.post(url)
soup = BeautifulSoup(res.content, 'html.parser')
title = soup.find('title')
# 取得したテキストを出力
print(title.text)
```language-bash
スクリプトは、指定されたサイトにアクセスし、titleタグの中身を出力するものです。
ローカルのmac環境で実行し、以下のようにタイトルが取得できることがわかりました。
```language-bash
$ python src/test01.py
Yahoo! JAPAN
[xxx.jp-xxxxx@user888 test]$ python src/test01.py
Yahoo! JAPAN
こちらのサイトの人も同じことを試してるみたい。
ただ、自分が使いたいlxmlはどうしてもこの方法では使えなくてすごい困った。。。。
でもよくよく考えてみるとlxmlを使う必要はなくて
soup = BeautifulSoup(r.text "html.parser")
or
soup = BeautifulSoup(r.text, 'lxml') #要素を抽出
beautifulsoupさえ使えたら1つ目の "html.parser"でもいけるやん!!!
ってことで全部解決!!!