PythonによるWebスクレイピング入門
1. 前提条件
学習者はPythonの基礎知識(数値型・文字列型・分岐・ループ・関数・リスト型・辞書型・ファイル操作・外部ライブラリ利用)を習得している必要があります。
2. Webスクレイピング基本プロセス
HTTPリクエスト送信
requestsライブラリでターゲットサイトにリクエストを送信します。リクエストにはヘッダーとボディが含まれますが、JavaScript/CSS実行機能は ...
6月12日 00:41 投稿
Pythonで実現するオフィス自動化の実用テクニック
ファイル一覧の取得
import os
def scan_directory(path):
for folder, _, filenames in os.walk(path):
for name in filenames:
full_path = os.path.join(folder, name)
print(full_path)
# 使用例
scan_directory('/path/to/target')
周期的タスクの実行
import schedule
import time
def daily_backup():
print("バック ...
6月8日 22:31 投稿
PythonのlxmlライブラリにおけるXPathの実践的使い方
1. ワイルドカードの応用
記号
用途
*
任意の要素名を同階層でマッチ
@*
任意の属性を同階層でマッチ
node()
ノードタイプに関係なく同階層でマッチ
*/
複数階層の任意要素をマッチ
//
任意階層の要素を圧縮的にマッチ
...
6月7日 22:07 投稿
Beautiful Soupを使ったPythonでのHTML解析入門
1. Beautiful Soupライブラリの導入
「美味しいスープ」の名で親しまれるBeautiful Soupは、HTMLやXML形式のデータを解析し、必要な情報を抽出するためのPythonサードパーティライブラリです。公式サイトは「https://www.crummy.com/software/BeautifulSoup/」です。
インストールはpipコマンドで行います。以下のコマンドを実行してください。
pip install BeautifulSoup4 ...
6月1日 17:37 投稿
Webスクレイピングにおける逆方向解析と暗号化技術
Webスクレイピングの高度化手法と暗号化・復号化の実装
法令文書サイトの解析
navigator = {};
window = global;
Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
" ...
5月27日 07:04 投稿
Scrapyシェルの利用とその詳細
Scrapyシェルは、クローラを起動せずにコードの一部を試したりデバッグしたりするためのインタラクティブなターミナルです。XPathやCSS式のテストにも役立ち、クローラ実行の手間を省きます。
Scrapyシェルは通常、標準Pythonターミナルを使用しますが、IPythonがインストールされている場合、優先的に使用されます。IPythonは自動補完やハイライト出力などの強化機能を ...
5月23日 03:02 投稿
ASP.NETページのデータスクレイピング:__doPostBackを利用したページネーション対応
最近、HTTPリクエストを模倣してデータをスクレイピングする必要がありましたが、対象サーバーはASP.NETで開発されていました。
ページネーションコントロールのコードは以下の通りです。
<tr>
<td align="left">合計 210 件のレコード -- 第 2 ページ -- 全  ...
5月20日 03:59 投稿
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 投稿
Pythonのrequestsライブラリを使って糗事百科の投稿を取得する
Pythonの標準ライブラリであるurllib2は多くの機能を提供しているが、APIの使い勝手が悪く感じられる場合がある。一方でRequestsライブラリは「HTTP for Humans」という名称を持ち、より簡潔で便利な使い方を提供する。Requestsはurllib2のすべての機能を継承しており、HTTP接続の維持やプーリング、Cookieによるセッション管理、ファイルアップロード、レスポンスの文字エ ...
5月16日 16:05 投稿
Pythonによるスクレイピング:Seleniumを使用したWebデータの収集
Pythonによるスクレイピング:Seleniumを使用したWebデータの収集
1.1 使用するライブラリ
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select
1.2 処理の流れ
# 1. ブラウザを起動する
browser_driver = webdriver.Chrome()
# この方法ではブラウザのGUIが表示されます
# option = webd ...
5月13日 07:20 投稿