
【Python】selenium以外でブラウザ操作を行う2つの方法
公開: 更新:Pythonのselenium以外でブラウザ操作を行う方法
- Playwright
- requestsとBeautifulSoup
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
Playwrightでブラウザを自動操作する方法
PlaywrightはMicrosoftが提供するオープンソースのエンドツーエンドテスト自動化フレームワークです。Playwrightにはブラウザ操作でのコード生成機能が搭載されており、実際のブラウザ操作を記録してコードを自動生成できるため、プログラミング初心者でも容易にブラウザ自動化のコードを作成できます。
playwright codegen https://example.com -o test.py
行番号 | 詳細説明 |
---|---|
1行目 | 指定URLでコード生成を実行し結果をtest.pyファイルに出力 |
Playwrightでは要素が存在しない時、自動的に待ってくれる「Auto-waiting機能」があるため、明示的な待機処理を省略してブラウザ操作が可能になります。また、PlaywrightはChromium、Firefox、WebKitの各ブラウザに対応し、ヘッドレスモードや複数のブラウザコンテキストの同時操作もサポートしているため、クロスブラウザテストや並列処理による処理が行えます。
requestsとBeautifulSoupでブラウザを操作する方法
requestsはHTTPリクエストを送信できるライブラリで、BeautifulSoupはHTMLを解析してデータを取得するパーサーライブラリです。requestsでHTMLを取得し、Beautiful SoupでHTMLのパース処理を行うのが基本的な使い方で、ブラウザを起動することなく軽量かつ高速にWebページからのデータ取得が可能です。
import requests
from bs4 import BeautifulSoup
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('h2')
for title in titles:
print(title.get_text())
行番号 | 詳細説明 |
---|---|
1行目 | HTTPリクエスト送信用のrequestsライブラリをインポート |
2行目 | HTML解析用のBeautifulSoupをbs4からインポート |
4行目 | 取得対象のURLを変数に代入 |
5行目 | 指定URLにGETリクエストを送信してレスポンスを取得 |
6行目 | レスポンスのHTMLテキストをBeautifulSoupオブジェクトに変換 |
7行目 | find_allメソッドでh2タグの要素をすべて取得 |
8行目 | 取得したh2要素をforループで順次処理してテキストを出力 |
Beautiful SoupではCSSセレクターを使えば大体の要素を取得でき、find
やfind_all
メソッドでHTMLタグの検索も可能です。この方法は静的サイトのスクレイピングに適していますが、JavaScriptで動的に生成されるコンテンツには対応できないという制限があります。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- 【Python】仮想環境から抜ける方法
- 【Python】文字列から改行コードを除去する方法
- 【Python】10回の繰り返し処理を実装する方法
- 【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説
- 【Python】指定のファイルがあれば削除する方法
ITやプログラミングに関するニュース
- Azure SQL Managed InstanceがVector型Public Preview対応開始、AI駆動アプリケーション開発の効率化を実現
- GoogleがGmailアプリにGeminiサマリーカードを導入、メール要約の自動表示機能が利用可能に
- ZenchordとNottaが共同開発したAIイヤホンZenchord 1をMakuakeで先行公開、音声認識から議事録作成まで自動化
- Ideinが音声解析AIサービス「Phonoscape」の提供を開始、対面接客現場での会話データ活用が可能に
- Microsoftが.NET 10 Preview 4でdotnet run app.cs機能をリリース、プロジェクトファイル不要でC#実行が可能に