PythonでスクレイピングとWebサーバーを開発する手順を書いていきます。
# プロジェクトのディレクトリ作成
$ mkdir scraping_server
$ cd scraping_server
# パッケージの追加
$ pip install flask requests beautifulsoup4
インストールしている外部パッケージは以下のものです。
まず、main.py を以下の内容で作成します。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def handler():
return "test py"
if __name__ == "__main__":
app.run(port=3000)
その後、以下コマンドを実行して http://localhost:3000 にブラウザでアクセスすると、”test” の文字が表示されます。
$ python main.py
これで、Webサーバーの起動ができました。
main.py に以下の実装を追加します。
from flask import Flask
# パッケージを追加
import requests
from bs4 import BeautifulSoup
# 関数を追加
def scraping():
url = "https://en.wikipedia.org/wiki/List_of_programming_languages"
res = requests.get(url)
soup = BeautifulSoup(res.text, 'html.parser')
items = []
for el in soup.select('.div-col li'):
items.append(el.text)
return items
app = Flask(__name__)
@app.route("/")
def handler():
# 追加した関数を使用する
return scraping()
if __name__ == "__main__":
app.run(port=3000)
追加実装の後、 $ python main.py を再実行して http://localhost:3000 にアクセスすると、 Wikipediaのページから取得したプログラミング言語一覧の文字が表示されるようになります。