カテゴリー
D-Studio プログラム

ヤフオク特定ページのスクレイピング

Yahoo!オークションの特定の商品の監視を行いたい時に使えるのがこれ。まぁ普通に通知機能とかついてるから使い道はあるのかどうかわかりませんが。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# 指定のURLをブラウザで開く
# YahooAuctionのサイト監視で情報取得できるのか?

import csv
import requests
from bs4 import BeautifulSoup

#-------------------------------------------------
## main ###
#-------------------------------------------------
if __name__=='__main__':

    # 監視したいオークションサイト
    load_url = "https://page.auctions.yahoo.co.jp/jp/auction/v**********"

    load_url = load_url
    web_data = None

    try:
        # HTML取得
        html = requests.get(load_url)
        web_data = BeautifulSoup(html.content, "html.parser")
        #print(web_data)
    except:
        print("[ERROR] Check input URL.")
        exit()

    item_list = []
    setlist = []
    ave_value = 0

    title = web_data.find_all(class_="ProductTitle__text")
    if len(title) == 0:
        print("[ERROR] Check input URL.")
        exit()

    print(title[0].text)

    now_value = ""
    sokketsu = ""

    for i in web_data.find_all(class_="Price__borderBox"):
        kakaku = i.find(class_="Price__title")
        if kakaku.text.replace(" ","") == "現在価格":
            now_value = i.find(class_="Price__value").text.replace(" ","").replace("\n","")
        elif kakaku.text.replace(" ","") == "即決価格":
            sokketsu = i.find(class_="Price__value").text.replace(" ","").replace("\n","")

    print("現在価格:",now_value, "即決価格:", sokketsu)


    cnt = 0
    for i in web_data.find_all(class_="ProductDetail__item"):
        print(i.text.replace("\n",""))

即決価格と現在価格の部分が少しややこしいですが、別の部分にあるのでこんな取り方になってます。

最高入札者情報はログインしないと見れないらしいです。

変化あればログに保存してそれをグラフで表示したり出来ると面白そうですね〜

  • 開発紹介

    ソフトウェア開発でお手伝いさせていただいた案件が論文に! http://www.spring8.or.jp/j…

  • スキャンプログラム

    今回研究施設向けのスキャンプログラムの作成を行いました。 こちら新しい技術の導入があり、その技術利用しながら作…

  • note

    note始めました!D-Studioにアップしていきます! まずはLabVIEW×Pythonという超ニッチな…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です