データ爆発、Python はワンクリックで Alibaba のオークションから最も人気のある商品データを取得し、データベースに保存できます。

序文

Alibaba Foreclosure は、中国本土で有名なオンライン オークション ウェブサイトであり、さまざまな商品やサービスのオークション、固定価格取引、固定価格販売を提供しています。Ali Foreclosure Web サイトから製品名、価格、写真などの製品情報を取得したい場合は、Python を使用してこのデータを取得するコードを作成できます。

実装する前に、次の Python ライブラリとツールがインストールされていることを確認してください。

  • リクエスト: Ali Foreclosure Web サイトに HTTP リクエストを送信し、応答コンテンツを取得するために使用されます。
  • beautifulsoup4: HTML Web ページのコンテンツを解析し、データを抽出するために使用されます。
  • pandas: データテーブルの作成とデータの整理に使用されます。

これらの手順を完了すると、Python コードの作成を開始できるようになります。

データ取得コードの実装

ステップ 1: 宛先 URL を取得する

この例では、Alibaba Foreclosure Web サイト上の指定された製品のページにアクセスし、この製品に関する情報を取得します。まずこの製品の URL を見つけて、後で使用できるように記録する必要があります。この例では、この製品の URL を取得します。

https://sf-item.taobao.com/sf_item/69947813772.htm

実際のアプリケーションでは、必要に応じてさまざまな製品の URL を取得する必要があります。

ステップ 2: ターゲット URL にリクエストを送信し、応答コンテンツを取得する

次に、Python のリクエスト ライブラリを使用して、Ali Foreclosure Web サイトに HTTP リクエストを送信し、応答コンテンツを取得します。まず、サーバーがリクエストを認識できるように、HTTP リクエストのヘッダー情報 (Headers) を設定する必要があります。

# 设置Headers
headers = {
    
    'User-Agent': 'Mozilla/5.0'}
# 发送HTTP请求并获取响应内容
url = 'https://sf-item.taobao.com/sf_item/69947813772.htm'
page = requests.get(url, headers=headers)

上記のコードでは、単純な User-Agent ヘッダーを設定し、Mozilla ブラウザーを使用していることをサーバーに伝えます。次に、リクエスト ライブラリを使用して GET リクエストを送信し、Ali Foreclosure Web サイト上の指定された製品の Web コンテンツを取得し、応答コンテンツを「page」変数に保存します。

ステップ 3: Web コンテンツを解析して製品情報を抽出する

製品ページの HTML コンテンツを取得したので、そこから製品情報を抽出する必要があります。この例では、製品の名前、価格、画像、説明情報を抽出してみます。

# 解析网页内容并提取商品信息
soup = BeautifulSoup(page.content, 'html.parser')
item_name = soup.find_all('h3', class_='title')[0].get_text().strip()
item_price = soup.find_all('span', class_='price')[0].get_text().strip()
item_picture = soup.find_all('img', class_='og-image')[0]['src'].strip()
item_desc = soup.find_all('div', class_='desc desc-more')[0].get_text().strip()

ここでは、Python の BeautifulSoup4 ライブラリを使用して製品ページの HTML コンテンツを解析し、さまざまなタグや属性値を通じて必要な製品情報を見つけます。各オブジェクトについて、text プロパティまたは label プロパティを使用して値を取得し、strip() メソッドを使用してオブジェクトからスペースと改行を削除します。

ステップ 4: 製品情報を DataFrame に保存する

製品ページからさまざまな製品情報を取得したら、Python の pandas ライブラリを使用して情報を DataFrame 形式に整理し、CSV ファイルに保存するなどの操作を実行できます。

# 将商品信息保存到DataFrame中
auction_dict = {
    
    
    'Name': [item_name],
    'Price': [item_price],
    'Picture': [item_picture],
    'Description': [item_desc]
}
auction_df = pd.DataFrame(auction_dict)

ここでは、製品情報のキーと値のペアを含む「auction_dict」という名前の Python 辞書を作成します。

製品情報をデータベースに保存

データを MySQL データベースに保存する場合は、Python で MySQL Database API を使用してデータベースに接続し、データを追加する必要があります。以下は、Python を MySQL に接続し、Ali の差し押さえ製品情報を MySQL データベースに保存するサンプル コードです。

ステップ 1: MySQL コネクタをインストールする

Python で MySQL データベースを使用するには、MySQL コネクタをインストールする必要があります。これは、次のコマンドを使用してインストールできます。

pip install mysql-connector-python

ステップ 2: MySQL データベースに接続する

まず、MySQL データベースに接続してカーソルを取得する必要があります。

# 导入MySQL Connector
import mysql.connector

# 连接数据库
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

# 获取游标
mycursor = mydb.cursor()

「yourusername」、「yourpassword」、「mydatabase」をデータベースのユーザー名、パスワード、データベース名に置き換えてください。

ステップ 3: データベーステーブルを作成する

次に、製品情報を保存するためのデータベース テーブルを作成する必要があります。以下は、データベース テーブルを作成するコード例です。

# 创建表格
mycursor.execute("CREATE TABLE IF NOT EXISTS auctions (name VARCHAR(255), price VARCHAR(255), picture VARCHAR(255), description VARCHAR(255))")

ここでは、「auctions」というテーブルを作成し(テーブルがすでに存在する場合、再度作成することはありません)、製品名、製品価格、製品画像、製品説明の 4 つの列を定義します。

ステップ 4: データを挿入する

製品情報を MySQL データベースに保存する準備ができました。以下は、製品情報を MySQL データベースに保存するコード例です。

# 插入数据
sql = "INSERT INTO auctions (name, price, picture, description) VALUES (%s, %s, %s, %s)"
val = (item_name, item_price, item_picture, item_desc)
mycursor.execute(sql, val)

# 提交数据到数据库
mydb.commit()

ここでは、上記のコードで取得した MySQL カーソル mycursor を使用して、データの挿入操作を実行します。バッチ挿入を使用して単一のデータを挿入し、製品名、製品価格、製品画像、製品説明をタプルとして MySQL Execute メソッドに渡します。

なお、実際のアプリケーションでは、データベースの接続方法や利用方法に応じて、独自のコードを記述する必要があります。

おすすめ

転載: blog.csdn.net/m0_48405781/article/details/131289245