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

Yahooショッピングスクレイピング

Yahooショッピングのスクレイピングをやってました!1ページ目30件のみしか取れませんが、結構ちゃんと内容取れますね!Class名は調べないといけませんが。

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

# 指定のURLをブラウザで開く
# YahooShoppingの買い物一覧は取得できるのか?

import csv
import requests
from bs4 import BeautifulSoup

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

    # 30件取得
    # 並び替えはX=9(評価順)
    load_url = "https://shopping.yahoo.co.jp/"
    search_op = "search?first=1&ss_first=1&ts=1636337247&mcr=8e2a556b12cfc76cfbdc9b34f3a2d87f&sretry=0&X=9&area=28&astk=&aq=&oq=&p="
    item = "本革 長財布"

    load_url = load_url + search_op + item

    # HTML取得
    html = requests.get(load_url)
    web_data = BeautifulSoup(html.content, "html.parser")
    #print(web_data)

    item_list = []
    setlist = []
    ave_value = 0

    cnt = 0
    for i in web_data.find_all(class_="LoopList__item"):
        label = i.find(class_="_2EW-04-9Eayr")
        value = i.find(class_="_3-CgJZLU91dR")
        setlist = []
        setlist.append(str(cnt))
        setlist.append(str(label.text))
        setlist.append(str(value.text))

        print(str(cnt) + ":" + str(label.text) + "  ■価格 ¥" + str(value.text))
        ave_value = ave_value + int(value.text.replace(",", ""))
        item_list.append(setlist)
        cnt = cnt + 1

    ave = ave_value/(cnt+1)
    print("平均価格:" + str(ave))

    # 文字コードをShift_JISに指定
    with open("item_list.csv", "w", encoding="Shift_jis") as f:
        # writerオブジェクトの作成 改行記号で行を区切る
        writer = csv.writer(f, lineterminator="\n")
        # csvファイルに書き込み
        writer.writerows(item_list)



検索文字に対して30件のタイトルと価格が一覧でCSVに吐き出されます。

for文内の[class=]部分を変えることで様々な情報が取得できます。

calssの内容などは「print(web_data)」で出した結果を解析する必要ありです。

参考サイト:https://yonesuke0716.hatenablog.com/entry/2020/02/11/173408

  • 開発紹介

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


  • スキャンプログラム

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


  • TIFヘッダ編集

    久しぶりの投稿はPythonプログラム! D-Studioでは現在Pythonをメインに仕事してます! 研究施…


  • 最近のお仕事

    WEBシステム開発サポート(大手企業向け) ロゴデザイン(結婚相談所) HP更新・作成(企業子会社・研究チーム…


  • 仕事紹介

    今進行中のお仕事紹介! パルスモーターでステージを動かしながら、荷重値を取得することを制御するプログラム開発中…


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

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


コメントを残す

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