Webスクレイピングを強化するためのLLMSのパワーを活用します
Webスクレイピングは、オンライン情報を抽出し、開発者が多様なドメイン全体でデータを収集できるようにするための重要な手法のままです。 ChatGroqのような大規模な言語モデル(LLM)の統合は、Webスクレイプ機能を大幅に増幅し、柔軟性と精度を向上させます。この記事では、WebスクレイピングツールとともにLLMSを効果的に活用して、Webページから構造化されたデータを取得する方法を示しています。
主要な学習目標:
目次:
開発環境のセットアップ:
開始する前に、環境が正しく構成されていることを確認してください。必要なライブラリをインストールします。
!PIPインストール-UQQQPIP-Progress -Bar Off#PIPを更新します !PIPインストール-QQQ Playwright == 1.46.0 -Progress -Bar Off#Browser Automation !pip install -qqq html2text == 2024.2.26 -progress -bar off#htmlからマークダウン変換へ !pip install -qqq langchain-groq == 0.1.9 -progress-bar off#llm統合 !劇作家はクロムをインストールします
このコードスニペットは、PIPを更新し、ブラウザオートメーション用のPlaywright、HTML-to-Markdown変換用のHTML2TEXT、LLM統合用のLangChain-Groq、Playwright用のChromiumをダウンロードします。
必須モジュールのインポート:
必要なモジュールをインポートします。
Reをインポートします pprintインポートPprintから インポートリストの入力からオプション html2textをインポートします nest_asyncioをインポートします PDとしてパンダをインポートします Google.ColabからImport userDataから langchain_groqからChatGroqをインポートします playwright.async_apiからasync_playwrightをインポートします Pydantic Import Basemodel、Fieldから TQDMからImport TQDMから nest_asyncio.apply()
マークダウンとしてWebコンテンツを取得する:
最初のスクレーピングステップでは、Webコンテンツの取得が含まれます。 Playwrightは、WebページのロードとHTMLの抽出を促進します。
user_agent = "mozilla/5.0(macintosh; intel mac os x 10_15_7)Applewebkit/537.36(khtml、yike gecko)chrome/128.0.0.0 Safari/537.36" " playwright = async_playwright()。start() browser = await playwright.chromium.launch() Context = await browser.new_context(user_agent = user_agent) page = await context.new_page() 待望page.goto( "https://playwright.dev/") content = await page.content() browser.close()を待っています playwright.stop()を待っています 印刷(コンテンツ)
このコードは、Playwrightを使用して、WebページのHTMLコンテンツを取得します。カスタムユーザーエージェントが設定され、ブラウザがURLに移動し、HTMLが抽出されます。その後、ブラウザは無料のリソースに閉じられます。
処理を簡素化するには、HTML2Textを使用してHTMLをマークダウンに変換します。
markdown_converter = html2text.html2text() markdown_converter.ignore_links = false markdown_content = markdown_converter.handle(content) print(markdown_content)
大規模な言語モデル(LLMS)のセットアップ:
構造化されたデータ抽出のためにLLMを構成します。 ChatGroqを使用します。
Model = "llama-3.1-70b-versatile" llm = chatgroq(温度= 0、model_name = model、api_key = userdata.get( "groq_api_key")) System_prompt = "" " あなたは専門家のテキスト抽出器です。 Webページコンテンツから情報を抽出します。 データやその他の出力を変更せずに、常にデータを抽出してください。 "" " def create_scrape_prompt(page_content:str) - > str: f "" "を返す 次のWebページから情報を抽出します。
{page_content}
<code>""".strip()</code>
これにより、特定のモデルとシステムプロンプトを使用してChatGroqをセットアップし、LLMに情報を正確に抽出するように導きます。
(残りのセクション、ランディングページのスクレイピング、スクレイピング車のリスト、結論、およびよくある質問は、上記のセクションと同様のコード説明と画像包含のパターンに従います。
省略されたセクションを含む完全なコードは非常に広範囲になります。この応答は、最初のセットアップと最初の主要なステップの詳細な説明を提供し、全体的なアプローチとスタイルを実証します。特定のセクションが詳しく説明されている場合は、お知らせください。
以上がLLMSでWebスクレイピングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。