在庫状況モニター開発・カスタマイズ

公開サイトで商品の在庫があるかを確認し、各状況を日付とともに保存するPythonスクレイパー

通常15 分で完成修正対応込み品質チェック
プラン
安心決済詳しく
  • プランの範囲内の修正は無料です。
  • 納品から3日以内にご対応がない場合、自動的に承認されます。

代金はお支払い時にお預かりし、納品を承認した時点ではじめて支払われます。

公開サイトで商品の在庫があるかを確認し、各状況を日付とともに保存するPythonスクレイパー

成果物の例

スタンダードパッケージの例

園芸用品の仕入れ先のカタログをExcelにするスクレイパー

結果のイメージ

品番商品名価格在庫重量写真
GT-1042剪定ばさみ、20 mm18.90あり0.24 kg…/gt-1042.jpg
GT-1187折りたたみのこぎり、210 mm24.50あり0.31 kg…/gt-1187.jpg
GT-2210刈込ばさみ、波刃39.00なし1.10 kg…/gt-2210.jpg
GT-3305移植ごて、ステンレス9.80あり0.18 kg…/gt-3305.jpg
GT-4120ガーデンホース 25 m、1/2"42.00あり2.90 kg…/gt-4120.jpg

例のファイルには、52の一覧ページから集めた1,236件の商品が入っています。

コードの一部

def product_links(list_url: str) -> Iterator[str]:
    """一覧の全ページから商品ページのリンクを取得し、「次へ」をたどります。"""
    url: str | None = list_url
    while url:
        page = fetch(url)
        for card in page.select("div.product-card a.title"):
            yield urljoin(url, card["href"])
        next_link = page.select_one("a.pagination-next")
        url = urljoin(url, next_link["href"]) if next_link else None


def fetch(url: str) -> BeautifulSoup:
    """公開ページを1つ、控えめなペースで取得します。リクエストの間に待ち時間を置き、エラー時は数回やり直します。"""
    for attempt in range(3):
        time.sleep(settings.delay_seconds)
        response = session.get(url, timeout=30)
        if response.status_code == 200:
            return BeautifulSoup(response.text, "html.parser")
        log.warning("%s の応答は %s、3回中%d回目の試行", url, response.status_code, attempt + 1)
    raise ScraperError(f"{url} は3回試しても開けませんでした")

ファイル: scraper.py、settings.ini(開始ページ、リクエスト間の待ち時間、ファイル名)、requirements.txt、インストールと実行の方法を説明したREADMEを含むZIPファイル。読み込むのは公開ページだけで、2秒に1ページのペースで、最初にサイトのrobots.txtを確認します。お客様ご自身のパソコンで実行していただきます。

お客様: 仕入れ先の道具を再販している園芸用品のネットショップ。仕入れ先のウェブサイトには公開カタログがありますが、価格表のファイルはありません。 ご依頼内容: カタログの一覧ページを巡回してすべての商品ページを開き、品番、商品名、価格、在庫、重量、メイン写真のリンクをExcelに保存して、週に1回価格を比べられるようにする。

お客様とすべての情報は架空のものです。

このサービスについて

このスクレイパーは実行するたびに、仕入れ先や、転売している商品のショップなど公開サイトでどの商品に在庫があるかを確認し、表に保存します。商品名、品番、ページに書かれたとおりの在庫状況、表示されていれば残数、お届け日数、価格、リンク、確認日時。実行ごとのファイルを残しておけば、何が再入荷し何が売り切れたかがわかります。サイト、カテゴリと商品ページのリンク、サイトが使う在庫表示、ブラウザから保存したページ1〜2ページをお送りください。Pythonコード、設定ファイル、READMEをお渡しし、お客様のパソコンで実行していただきます。読み込むのは公開ページだけで、控えめなペースで動き、ログイン、CAPTCHAや保護の回避、個人データの収集は一切行いません。サイトの規約上問題ないかはお客様のご判断となり、のちにレイアウトが変わった場合は更新が必要です。

含まれる内容

  • 納品物Pythonのコード、設定ファイル、手順を一つずつ説明したREADMEを入れたZIPファイル。コードは注文ページでも確認できます。
  • 在庫状況を列にサイトの表記のまま、または「あり/なし/取り寄せ」などの独自ラベルで
  • 表示されていれば残数ページに残りの数が表示されている場合
  • 日付付きの行すべての行に確認日時
  • 控えめなペースページ間の待ち時間は設定ファイルで指定
  • お客様のパソコンで実行Windows、macOS、Linux(Python使用)

ご利用の流れ

  1. 1
    ページ数サイト、商品、使われている在庫表示をお伝えいただきます
  2. 2
    スクレイパーコードと実行ガイドを作成します
  3. 3
    最初の確認実行し、いくつかの在庫状況をサイトと見比べていただきます
  4. 4
    修正プランの範囲内で修正を依頼し、エラーメッセージがあればお送りください

ご用意いただくもの

サイトと具体的なページ:カテゴリと商品ページのリンク、または商品リンクの一覧、おおよその商品数。サイトに表示される在庫表示(表示どおりに)。在庫状況以外に必要な項目(例:品番、価格、お届け日数)。ブラウザから保存したページ1〜2ページ(ファイル>名前を付けてページを保存)かスクリーンショット。できれば在庫ありと在庫なしを1つずつ。実行の予定頻度。

お伺いする内容:

  • サイトと商品は?
  • 在庫表示
  • その他の項目
  • 確認の頻度は?

プランを比較

プランベーシック商品リストの在庫¥3,250スタンダードカテゴリ全体の在庫¥6,340プレミアム複数のサイト・セクション¥11,440
納期1日2日3日
修正回数123
サイト数11最大3
ページの種類12(カテゴリと商品)最大3
項目数最大10最大25各最大25
一覧の複数ページを巡回なしありあり
出力ファイルCSVExcelまたはCSVExcel、CSV、JSON
重複の削除、中断した所から再開なしなしあり
確認日時ありありあり
注文する ベーシック注文する スタンダード注文する プレミアム

安心決済

お支払いは注文時ですが、代金が支払われるのは承認された納品に対してのみです。

  • 固定料金お支払い後にプランの料金が変わることはありません。
  • 代金はお預かりお支払い時、代金はお預かりするだけです。納品を承認した時点でサービス側に支払われます。
  • 納品前にチェックすべての成果物はお手元に届く前に品質チェックを受けます。承認前に注文ページで内容を確認できます。
  • 無料の修正依頼内容の範囲内で、プランで定められた回数まで修正を依頼できます。
  • 3日後に自動承認納品から3日以内に承認も修正依頼もない場合、自動的に承認されます。納品後に注文チャットでメッセージを送った場合、注文は保留されます。こちらから回答した後、3日間のカウントを再開することがあり、その際はチャットでお知らせします。
  • やり直しまたは全額返金結果が依頼内容と合わず修正でも解決しなかった場合、または作業に納期の2倍を超える時間がかかった場合は、注文チャットでご連絡ください。作業をやり直すか、代金を全額返金いたします。
詳しい仕組み →

質問と回答

再入荷したら知らせてくれますか?

いいえ。確認日時付きの表を保存するので、Excelで絞り込んだり、2つのファイルを並べたりしてください。メッセージや通知の機能はありません。

特定の店舗や倉庫の在庫も見られますか?

商品ページの店舗一覧のように、ログインなしで公開ページに表示されている場合のみです。アカウントが必要な店舗選択には届きません。

どのくらいの頻度で実行できますか?

サイトに負担をかけない範囲でどうぞ。ページ間に待ち時間を入れるため大きなカテゴリには時間がかかり、通常は1日数回までが目安です。プレミアムでは定期実行のガイドが付きます。

Amazon、Google ショッピング、SNSの在庫も確認できますか?

いいえ。これらの規約で禁止されており、LinkedInなど他のSNSも同様です。その他のサイトについては、規約上問題ないかをお客様にご判断いただきます。

サイトがページを変えたら?

スクレイパーは現在のページ構造に合わせて動きます。のちにレイアウトや在庫表示の言葉が変わった場合は更新が必要で、新しいご注文となります。

答えが見つかりませんか?

プラン