驚くほど簡単な技術系健忘録

驚くほど簡単な技術系健忘録

アプリやWebサービス、RPAを作る上での健忘録を書いていきます。

ロリポップでpipパッケージを使うpythonプログラムの実行

akamist.com

こちらのサイトを参考にローカルにディレクトリを作りそれのパスを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

mycodingjp.blogspot.com

こちらのサイトの人も同じことを試してるみたい。

 

ただ、自分が使いたいlxmlはどうしてもこの方法では使えなくてすごい困った。。。。

でもよくよく考えてみるとlxmlを使う必要はなくて

 

soup = BeautifulSoup(r.text "html.parser")
or
soup = BeautifulSoup(r.text, 'lxml') #要素を抽出

beautifulsoupさえ使えたら1つ目の "html.parser"でもいけるやん!!!

ってことで全部解決!!!