Lancers の募集中の案件数を取得 (Beautifulsoup4)


Beautifulsoup のサンプルとして、Lancers の募集中の案件数を取得してみました。

システム開発・運用の依頼・仕事

プログラム

get_lancers.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
#   get_lancers.py
#
#                   Apr/13/2018
#
# ------------------------------------------------------------------
import requests
import sys
from bs4 import BeautifulSoup
#
url = sys.argv[1]
headers = {
        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0",
        }
#
try:
    response = requests.get(url=url, headers=headers)
    html = response.text
    try:
        result = BeautifulSoup(html, "html.parser")
#
        span = result.find(class_='search-result-counter')
        print(span)
        span_text=span.string
        print(span_text)
#
    except Exception as ee:
        sys.stderr.write("*** error *** in BeautifulSoup ***\n")
        sys.stderr.write(str(ee) + "\n")
#

except Exception as ee:
    sys.stderr.write("*** error *** in requests.get ***\n")
    sys.stderr.write(str(ee) + "\n")
#
# ------------------------------------------------------------------

実行スクリプト

#
URL="https://www.lancers.jp/legacy/work/search/system?completed=0"
#
./get_lancers.py $URL

実行結果

$ ./go_lancers 
<span class="search-result-counter" style="float:left">
                77件中1-30件表示            </span>

                77件中1-30件表示

次の環境で動作の確認をしました。

Arch Linux (4.17.13-arch1-1-ARCH)
Python 3.7.0