こんにちは。今回は、ウェブスクレイピングと Markdown 変換を自動化する Python パッケージ「PEGASUS」の最初の公開版 v0.1.0 のリリースについて解説します。
PEGASUS とは?
PEGASUS は "Parsing Extracting Generating Automated Scraping Utility System" の略で、ウェブサイトの内容を自動的に抽出し、Markdown 形式に変換するツールです。Markdown は、シンプルで読みやすいテキストベースのフォーマットで、ドキュメントの作成によく使われています。
PEGASUS を使えば、指定した URL から始まり、そのページ内のリンクを再帰的にたどって、ウェブサイト全体の内容を探索することができます。そして、各ページの HTML コンテンツを分析し、テキストや画像などを抽出して、美しくフォーマットされた Markdown ドキュメントに自動変換してくれるのです。
PEGASUS の主な機能
- 指定した URL からウェブサイトを再帰的に探索
- HTML を Markdown に自動変換
- ヘッダー、フッター、ナビゲーションなどの不要な要素を除外可能
- 特定のドメインのみをクロールするように制限可能
- 特定のキーワードを含む URL を除外可能
- コマンドラインと Python スクリプトの両方から使用可能
これらの機能により、ウェブサイトのコンテンツを簡単に Markdown 形式に変換することができます。例えば、ウェブサイトのドキュメントを Markdown に変換して、社内の知識ベースを作成したり、ブログ記事をまとめてアーカイブしたりといったことが自動化できるでしょう。
PEGASUSを使うと、ウェブサイトを再帰的にMarkdownに自動変換してくれます!
どういうことかと言うと、EaserAIのドキュメントの最初のページを入力すると、その画面に記載してあるURLも辿ってそのページも変換します。そしてそのページでもURLがあれば辿って変換してくれます!… https://t.co/TdqbywE9KK pic.twitter.com/sY2sQtOXdv
— Maki@Sunwood AI Labs. (@hAru_mAki_ch) June 8, 2024
PEGASUS のインストールと使用方法
PEGASUS は Python パッケージなので、Python がインストールされている必要があります。その上で、以下のコマンドを実行すれば、簡単にインストールできます。
pip install pegasus-surf
インストールが完了したら、コマンドラインから以下のように実行することができます。
pegasus https://example.com/start-page output_directory --exclude-selectors header footer nav --include-domain example.com --exclude-keywords login --output-extension txt
このコマンドは、https://example.com/start-page
というURLからスタートし、example.com
のドメイン内のページのみをクロールします。ヘッダー、フッター、ナビゲーションの要素は除外し、login
というキーワードを含むURLは除外します。Markdownに変換された結果は、output_directory
というディレクトリに .txt
ファイルとして保存されます。
また、Python スクリプトの中で直接 PEGASUS を使用することもできます。
from pegasus import Pegasus
pegasus = Pegasus(
base_url="https://example.com/start-page",
output_dir="output_directory",
exclude_selectors=['header', 'footer', 'nav'],
include_domain="example.com",
exclude_keywords=["login"]
)
pegasus.run()
このように、Pegasus
クラスのインスタンスを作成し、各種オプションを指定します。そして run()
メソッドを呼び出すことで、クロールと変換のプロセスが開始されます。
注意点
PEGASUS は非常に便利なツールですが、いくつか注意点があります。
- ウェブサイトの利用規約を確認し、クロールが許可されているかどうかを必ず確認してください。
- 過度なリクエストを送信すると、サーバーに負荷をかけてしまう可能性があります。適切な間隔を置いてリクエストを送信するようにしましょう。
今後の予定
PEGASUS はまだ初期段階のプロジェクトですが、今後も以下のような機能追加や改良が予定されています。
- JavaScript のレンダリングに対応
- よりインテリジェントなコンテンツの抽出
- ページネーションへの対応
- カスタムの変換ルールのサポート
これらの機能が追加されることで、より多くのウェブサイトに対応し、より高品質な Markdown 変換が可能になるでしょう。
まとめ
PEGASUS は、ウェブサイトのコンテンツを自動的に Markdown に変換するための強力なツールです。ドキュメンテーションの自動化、コンテンツの管理、データ分析など、様々な用途で活用できるでしょう。
初心者の方にも使いやすいよう設計されていますが、ウェブスクレイピングのルールには十分気をつける必要があります。適切な使い方で、PEGASUS のパワーを活用してみてください。
バージョン 0.1.0 は最初のリリースですが、今後も活発に開発が続けられる予定です。プロジェクトの進展に期待しましょう!
コメント