From 22746d342419ced6bc841df05e2fee9006cae41b Mon Sep 17 00:00:00 2001 From: Maki Date: Sun, 9 Jun 2024 11:17:21 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=E2=9C=A8=20[docs]=20README=E3=82=92?= =?UTF-8?q?=E3=82=88=E3=82=8A=E8=A6=AA=E3=81=97=E3=81=BF=E3=82=84=E3=81=99?= =?UTF-8?q?=E3=81=8F=E3=80=81=E5=88=86=E3=81=8B=E3=82=8A=E3=82=84=E3=81=99?= =?UTF-8?q?=E3=81=8F=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 文体をフレンドリーに、絵文字を効果的に使用 - 各セクションに見出しを追加し、構造を明確化 - コマンドラインオプションの説明を箇条書きにし、視認性を向上 - Pythonスクリプトからの使用方法をより具体的に説明 --- README.md | 88 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 47 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 9708b58..bfab8bd 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ [🌐 Website][🐱 GitHub] [🐦 Twitter] • - [🍀 Official Blog] + [🍀 Official Blog]

@@ -35,51 +35,55 @@ >このリポジトリのリリースノートやREADME、コミットメッセージの9割近くは[claude.ai](https://claude.ai/)や[ChatGPT4](https://chatgpt.com/)を活用した[AIRA](https://github.com/Sunwood-ai-labs/AIRA), [SourceSage](https://github.com/Sunwood-ai-labs/SourceSage), [Gaiah](https://github.com/Sunwood-ai-labs/Gaiah), [HarmonAI_II](https://github.com/Sunwood-ai-labs/HarmonAI_II)で生成しています。 -pegasus は、ウェブサイトを再帰的にクロールし、そのコンテンツを Markdown 形式に変換するパワフルで柔軟な Python パッケージです。指定した URL から始まり、リンクをたどって関連するページを探索し、HTML コンテンツを美しい Markdown ドキュメントに変換します。コマンドラインインターフェイス (CLI) から実行することも、Python スクリプトから直接使用することもできます。 +こんにちは!PEGASUSへようこそ!PEGASUSは、ウェブサイトを再帰的にクロールし、そのコンテンツを美しいMarkdown形式に変換するパワフルで柔軟なPythonパッケージです。 -## インストール +PEGASUSを使えば、指定したURLから始まり、リンクをたどって関連するページを探索し、HTMLコンテンツを見やすいMarkdownドキュメントに変換することができます。コマンドラインインターフェイス(CLI)から実行することも、Pythonスクリプトから直接使用することもできるので、とっても便利なんです! -pip を使用して pegasus をインストールします。 +## 🚀 インストール + +pipを使ってPEGASUSをインストールしましょう。以下のコマンドを実行するだけです!👇 ```shell pip install pegasus-surf ``` -## 使い方 +## 🎮 使い方 -### コマンドラインから +### 🖥️ コマンドラインから -pegasus をコマンドラインから使用するには、以下のようなコマンドを実行します。 +PEGASUSをコマンドラインから使用するには、以下のようなコマンドを実行します。 ```shell -# 単一の URL からスクレイピングを開始 +# 単一のURLからスクレイピングを開始 🌐 pegasus --base-url https://example.com/start-page output_directory --exclude-selectors header footer nav --include-domain example.com --exclude-keywords login --output-extension txt -# 探索深度を指定して実行 +# 探索深度を指定して実行 🔍 pegasus --base-url https://docs.eraser.io/docs/what-is-eraser output/eraser_docs2 --exclude-selectors header footer nav aside .sidebar .header .footer .navigation .breadcrumbs --include-domain docs.eraser.io --exclude-keywords login --output-extension .txt --max-depth 2 -# URL リストが記載されたテキストファイルからスクレイピングを開始 +# URLリストが記載されたテキストファイルからスクレイピングを開始 📜 pegasus --url-file urls.txt output/roomba --exclude-selectors header footer nav aside .sidebar .header .footer .navigation .breadcrumbs --exclude-keywords login --output-extension .txt --max-depth 1 -# LLM を使用したサイトの分類を行いながらスクレイピング +# LLMを使用したサイトの分類を行いながらスクレイピング 🧠 pegasus --url-file urls.txt output/roomba2 --exclude-selectors header footer nav aside .sidebar .header .footer .navigation .breadcrumbs --exclude-keywords login --output-extension .txt --max-depth 1 --system-message "あなたは、与えられたウェブサイトのコンテンツが特定のトピックに関連する有用な情報を含んでいるかどうかを判断するアシスタントです。トピックに関連する有益な情報が含まれている場合は「True」、そうでない場合は「False」と回答してください。" --classification-prompt "次のウェブサイトのコンテンツは、Roomba APIやiRobotに関する有益な情報を提供していますか? 提供している場合は「True」、そうでない場合は「False」と回答してください。" ``` -- `--base-url`: スクレイピングを開始するベース URL を指定します。 -- `--url-file`: スクレイピングする URL が記載されたテキストファイルを指定します。 +オプションの意味はこんな感じです!👀 + +- `--base-url`: スクレイピングを開始するベースURLを指定します。 +- `--url-file`: スクレイピングするURLが記載されたテキストファイルを指定します。 - `--output-extension`: 出力ファイルの拡張子を指定します(デフォルト: .md)。 - `--dust-size`: ダストフォルダに移動するファイルサイズのしきい値をバイト単位で指定します(デフォルト: 1000)。 - `--max-depth`: 再帰処理の最大深度を指定します(デフォルト: 制限なし)。 -- `--system-message`: LLM のシステムメッセージを指定します(サイトの分類に使用)。 -- `--classification-prompt`: LLM のサイト分類プロンプトを指定します。True または False を返すようにしてください。 +- `--system-message`: LLMのシステムメッセージを指定します(サイトの分類に使用)。 +- `--classification-prompt`: LLMのサイト分類プロンプトを指定します。TrueまたはFalseを返すようにしてください。 - `--max-retries`: フィルタリングのリトライ回数の上限を指定します(デフォルト: 3)。 -- `--model`: LLM のモデル名を指定します(デフォルト: gemini/gemini-1.5-pro-latest)。 +- `--model`: LLMのモデル名を指定します(デフォルト: gemini/gemini-1.5-pro-latest)。 - `--rate-limit-sleep`: レート制限エラー時のスリープ時間を秒単位で指定します(デフォルト: 60)。 - `--other-error-sleep`: その他のエラー時のスリープ時間を秒単位で指定します(デフォルト: 10)。 -### Python スクリプトから +### 🐍 PythonスクリプトからPEGASUSを使う -pegasus を Python スクリプトから使用するには、以下のようなコードを書きます。 +PEGASUSをPythonスクリプトから使用するには、以下のようなコードを書きます。 ```python from pegasus import Pegasus @@ -102,44 +106,46 @@ pegasus = Pegasus( pegasus.run("https://example.com/start-page") ``` -- `output_dir`: Markdown ファイルを保存するディレクトリを指定します。 -- `exclude_selectors`: 除外する CSS セレクターのリストを指定します(オプション)。 +パラメータの意味はこちらです! + +- `output_dir`: Markdownファイルを保存するディレクトリを指定します。 +- `exclude_selectors`: 除外するCSSセレクターのリストを指定します(オプション)。 - `include_domain`: クロールを特定のドメインに限定します(オプション)。 -- `exclude_keywords`: URL に含まれる場合にページを除外するキーワードのリストを指定します(オプション)。 +- `exclude_keywords`: URLに含まれる場合にページを除外するキーワードのリストを指定します(オプション)。 - `output_extension`: 出力ファイルの拡張子を指定します(デフォルト: .md)。 - `dust_size`: ダストフォルダに移動するファイルサイズのしきい値をバイト単位で指定します(デフォルト: 1000)。 - `max_depth`: 再帰処理の最大深度を指定します(デフォルト: 制限なし)。 -- `system_message`: LLM のシステムメッセージを指定します(サイトの分類に使用)。 -- `classification_prompt`: LLM のサイト分類プロンプトを指定します。True または False を返すようにしてください。 +- `system_message`: LLMのシステムメッセージを指定します(サイトの分類に使用)。 +- `classification_prompt`: LLMのサイト分類プロンプトを指定します。TrueまたはFalseを返すようにしてください。 - `max_retries`: フィルタリングのリトライ回数の上限を指定します(デフォルト: 3)。 -- `model`: LLM のモデル名を指定します(デフォルト: gemini/gemini-1.5-pro-latest)。 +- `model`: LLMのモデル名を指定します(デフォルト: gemini/gemini-1.5-pro-latest)。 - `rate_limit_sleep`: レート制限エラー時のスリープ時間を秒単位で指定します(デフォルト: 60)。 - `other_error_sleep`: その他のエラー時のスリープ時間を秒単位で指定します(デフォルト: 10)。 -## 特長 +## ✨ PEGASUSの特長 -- 指定した URL から始まり、リンクを再帰的にたどってウェブサイトを探索します。 -- HTML コンテンツを美しくフォーマットされた Markdown に変換します。 -- 柔軟な設定オプションにより、クロールと変換のプロセスをカスタマイズできます。 -- ヘッダー、フッター、ナビゲーションなどの不要な要素を除外できます。 -- 特定のドメインのみをクロールするように制限できます。 -- 特定のキーワードを含む URL を除外できます。 -- URL リストを記載したテキストファイルを指定してスクレイピングできます。 -- LLM を使ってスクレイピングしたサイトを分類できます。 +- 指定したURLから始まり、リンクを再帰的にたどってウェブサイトを探索します。🔍 +- HTMLコンテンツを美しくフォーマットされたMarkdownに変換します。📝 +- 柔軟な設定オプションにより、クロールと変換のプロセスをカスタマイズできます。⚙️ +- ヘッダー、フッター、ナビゲーションなどの不要な要素を除外できます。🙅‍♀️ +- 特定のドメインのみをクロールするように制限できます。🌐 +- 特定のキーワードを含むURLを除外できます。🚫 +- URLリストを記載したテキストファイルを指定してスクレイピングできます。📜 +- LLMを使ってスクレイピングしたサイトを分類できます。🧠 -## 注意事項 +## ⚠️ 注意事項 -- pegasus は、適切な使用方法とウェブサイトの利用規約に従ってご利用ください。 -- 過度なリクエストを送信しないよう、適切な遅延を設けてください。 +- PEGASUSは、適切な使用方法とウェブサイトの利用規約に従ってご利用ください。🙏 +- 過度なリクエストを送信しないよう、適切な遅延を設けてください。⏰ -## ライセンス +## 📜 ライセンス -このプロジェクトは MIT ライセンスの下で公開されています。詳細については、[LICENSE](LICENSE) ファイルを参照してください。 +このプロジェクトはMITライセンスの下で公開されています。詳細については、[LICENSE](LICENSE)ファイルを参照してください。 -## 貢献 +## 🤝 貢献 -プルリクエストや改善案は大歓迎です。バグ報告や機能リクエストがある場合は、issue を作成してください。 +プルリクエストや改善案は大歓迎です!🎉 バグ報告や機能リクエストがある場合は、issueを作成してください。😊 --- -pegasus を使用すれば、ウェブサイトを再帰的に探索し、コンテンツを美しい Markdown ドキュメントに変換できます。ドキュメンテーションの自動化、コンテンツの管理、データ分析などにぜひお役立てください! \ No newline at end of file +PEGASUSを使用すれば、ウェブサイトを再帰的に探索し、コンテンツを美しいMarkdownドキュメントに変換できます。📜✨ ドキュメンテーションの自動化、コンテンツの管理、データ分析などにぜひお役立てください!🙌 \ No newline at end of file From 6459d2e41a6de2f0fd4d3977bbdf6cbdec486bd2 Mon Sep 17 00:00:00 2001 From: Maki Date: Sun, 9 Jun 2024 11:18:01 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20[chore]=20=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=200.2.1=20?= =?UTF-8?q?=E3=81=8B=E3=82=89=200.2.2=20=E3=81=AB=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 35e8cb4..ee90f3f 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name='pegasus-surf', - version='0.2.1', + version='0.2.2', description='A package for scraping websites and converting them to Markdown', author='Maki', author_email='sunwood.ai.labs@gmail.com', From 9848d471725175521ffb7cfbce250ad2b56d93d8 Mon Sep 17 00:00:00 2001 From: Maki Date: Sun, 9 Jun 2024 12:23:48 +0900 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=93=9A=20[docs]=20=E9=96=8B=E7=99=BA?= =?UTF-8?q?=E8=80=85=E5=90=91=E3=81=91=E6=83=85=E5=A0=B1=E3=82=92=20README?= =?UTF-8?q?.md=20=E3=81=AB=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - パッケージの構成、フローチャート、ER図を README.md に追加 - 開発者向け情報をまとめるための「開発者用」セクションを作成 --- README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/README.md b/README.md index bfab8bd..a6ce109 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,24 @@ pegasus.run("https://example.com/start-page") このプロジェクトはMITライセンスの下で公開されています。詳細については、[LICENSE](LICENSE)ファイルを参照してください。 +## 開発者用 + +### パッケージの構成 + +![](https://huggingface.co/datasets/MakiAi/IconAssets/resolve/main/PEGASUS_struct.svg) + +### パッケージのフローチャート + +

+ +

+ +### パッケージのER図 + +![](https://huggingface.co/datasets/MakiAi/IconAssets/resolve/main/PEGASUS_pack.svg) + + + ## 🤝 貢献 プルリクエストや改善案は大歓迎です!🎉 バグ報告や機能リクエストがある場合は、issueを作成してください。😊 From b4472f73f2cf254ab9248e588e3ea3b37797ac6e Mon Sep 17 00:00:00 2001 From: Maki Date: Sun, 9 Jun 2024 12:23:52 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20[chore]=20=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=200.2.2=20?= =?UTF-8?q?=E3=81=8B=E3=82=89=200.2.3=20=E3=81=AB=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ee90f3f..9041b6a 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name='pegasus-surf', - version='0.2.2', + version='0.2.3', description='A package for scraping websites and converting them to Markdown', author='Maki', author_email='sunwood.ai.labs@gmail.com',