PythonによるWebスクレイピング実践:4つの代表的なユースケース

1. Eコマースサイトの商品情報取得 例えば、中国の主要ECプラットフォーム「JD.com」の特定商品ページ(例:一加9Rスマートフォン)を対象に、HTTPリクエストによるHTMLコンテンツの取得を試みます。URLはhttps://item.jd.com/100020542894.htmlです。 まずrobots.txtを確認します:https://item.jd.com/robots.txt。実際の内容は次のような形式で、Googlebotなど特定のク ...

6月13日 22:30 投稿

PythonによるWebスクレイピング入門

1. 前提条件 学習者はPythonの基礎知識(数値型・文字列型・分岐・ループ・関数・リスト型・辞書型・ファイル操作・外部ライブラリ利用)を習得している必要があります。 2. Webスクレイピング基本プロセス HTTPリクエスト送信 requestsライブラリでターゲットサイトにリクエストを送信します。リクエストにはヘッダーとボディが含まれますが、JavaScript/CSS実行機能は ...

6月12日 00:41 投稿

Python Requests モジュールによる Web スクレイピング入門

Python Requests モジュールによる Web スクレイピング入門 Python において HTTP リクエストを送信するための標準的なライブラリとして、requests モジュールが広く利用されています。本記事では、requests の基本的な使い方から、実践的なデータ収集の手法、およびよくある問題の解決策について解説します。 環境構築とインストール 開発環境として Anaconda を利用す ...

6月7日 16:34 投稿

ExcelベースのAPIテストフレームワークの設計と進化

Excelファイルを用いたAPIテストフレームワークの実装アプローチを、バージョンアップごとに紹介する。各バージョンでは機能拡張や設計改善が行われており、最終的にはPytestと統合された柔軟なテストシステムへと発展している。 基本データフォーマット(schema1) テストケースはExcelファイル(例: data.xlsx)に以下の列で定義される: name: テストケース名 met ...

5月30日 02:34 投稿

PythonのRequestsライブラリ徹底解説

特徴 接続プールとKeep-Alive機能 国際化ドメインおよびURLサポート 持続的なCookieセッション ブラウザスタイルSSL認証 自動コンテンツデコード 基本/摘要認証 ユニークなキー/値形式のCookie管理 自動圧縮解除 Unicode対応のレスポンスボディ HTTP(S)プロキシサポート ファイルチャンクアップロード ストリームダウンロード 接続タイムアウト設定 チャンクリクエスト . ...

5月26日 22:43 投稿

HLS配信からのM3U8プレイリスト抽出とTSセグメント結合の実装

動画配信プラットフォームからストリーミングデータを取得する場合、多くのサービスはHLS(HTTP Live Streaming)規格を採用しており、.m3u8プレイリストと.tsセグメントファイルの組み合わせで構成されています。本記事では、対象APIへのリクエスト構造を解析し、プレイリストの抽出からセグメントの結合までをPythonで実装する手順を解説します。 1. メタデータAPIへのリ ...

5月24日 22:13 投稿

Pythonによるブログアーカイブの自動化 — ウェブスクレイピングからExcel・Word出力まで

ソフトウェアエンジニアリングの履修課題として、ウェブ上からブログ記事を収集し、書式化されたドキュメントとして保存する処理を実装する機会は珍しくない。本稿では、Pythonを用いたスクレイピング技術に加え、ExcelおよびWord文書の自動生成方法について解説する。 開発環境の構築 本実装で使用する主要なライブラリは以下の通りである。requestsはHTTPリクエストの ...

5月21日 17:33 投稿

PythonによるWebスクレイピング:動画収集のシングルスレッドとマルチスレッド実装

スクレイピング対象の分析と実装方針 Webサイトから動画コンテンツを収集するPythonスクリプトを実装します。対象サイトの構造変化に対応するため、リクエスト例外処理を強化しています。 シングルスレッド版実装 # coding: utf-8 import re import requests import hashlib import time import os REQUEST_HEADERS = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0 ...

5月18日 05:50 投稿

C#からIronPythonを利用する際の`_getframe`エラーとサードパーティ製ライブラリの依存関係問題

チャットボットなどの開発において、ユーザー入力に応じて動的に外部API(天気情報や翻訳など)を呼び出す要件がある。このような場合、各API呼び出し処理を個別のPythonスクリプトとしてプラグイン化し、.NETアプリケーションから動的に実行するアーキテクチャが考えられる。この手段としてIronPythonを利用することがある。 例えば、以下のような外部リソース取得スクリ ...

5月17日 07:33 投稿

Pythonのrequestsライブラリを使って糗事百科の投稿を取得する

Pythonの標準ライブラリであるurllib2は多くの機能を提供しているが、APIの使い勝手が悪く感じられる場合がある。一方でRequestsライブラリは「HTTP for Humans」という名称を持ち、より簡潔で便利な使い方を提供する。Requestsはurllib2のすべての機能を継承しており、HTTP接続の維持やプーリング、Cookieによるセッション管理、ファイルアップロード、レスポンスの文字エ ...

5月16日 16:05 投稿