ChatGPT戦闘100件 - (04) 自動爬虫類

ChatGPT戦闘100件 - (04) 自動爬虫類

1. 要件とアイデア

要件: Web ページ要素の解析は複雑すぎるため、自動的に解析させてください

操作手順

  • ChatGPT は関連するスクリプトを作成します
  • Pythonを実行する

必要な事前スキル: Python クローラー ライブラリ リクエストと bs4について聞いたことが
ありますか? 単純:

  • request は、Web ページ データを取得するための Python HTTP リクエスト ライブラリです。
  • bs4 は BeautifulSoup の略称で、Web ページ データから情報を抽出するための HTML/XML 解析ライブラリです。

2. オイルモンキースクリプト

質問:
Python BS4 ライブラリ分析を作成して、この HTML から次の構造化情報を解析してみてください:
アイコン カテゴリ タイトル URL 導入
、それを表現するために json を使用します。英語のフィールドを使用します。

<div class="url-card io-px-2 col-6 col-2a col-sm-2a col-md-2a col-lg-3a col-xl-5a col-xxl-6a ">
    <div class="url-body default "> <a href="/sites/4661.html?menu-id=2331&amp;mininav-id=4543"
            target="\_blank" data-id="4661" data-url="https://murf.ai" class="card no-c mb-4 site-4661" title="Murf AI">
            <div class="card-body url-content d-flex align-items-center">
                <div class="url-img rounded-circle mr-2 d-flex align-items-center justify-content-center"> <img
                        class="lazy unfancybox loaded" src="https://api.iowen.cn/favicon/murf.ai.png"
                        data-src="https://api.iowen.cn/favicon/murf.ai.png" height="auto" alt="Murf AI"
                        data-was-processed="true"> </div>
                <div class="url-info flex-fill">
                    <div class="text-sm overflowClip\_1"> <strong>Murf AI</strong> </div>
                    <p class="overflowClip\_1 m-0 text-muted text-xs">
                        AI语音生成器在20种语言。120+逼真的文本到语音的声音,创造完美的AI画外音。轻松地从文字转换为语音。</p>
                </div>
            </div>
        </a> <a href="/go/?url=aHR0cHM6Ly9tdXJmLmFpLw%3D%3D" target="\_blank"
            rel="external nofollow noopener" title="" class="togo text-center text-muted is-views" data-id="4661"
            data-toggle="tooltip" data-placement="right" data-original-title="直达"><i class="iconfont icon-goto"></i></a>
    </div>
</div>

答え:

以下
は、HTML から構造化情報を抽出し、JSON 形式で表現する Python コードです。

import requests
from bs4 import BeautifulSoup
import json

url = "页面的url"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

results = []
for card in soup.find_all("div", class_="url-card"):
    icon = card.find("img")["data-src"]
    category = card.find("a", class_="card")["data-id"]
    title = card.find("strong").text
    website = card.find("a", class_="card")["data-url"]
    description = card.find("p", class_="overflowClip_1").text

    result = {
    
    
        "icon": icon,
        "category": category,
        "title": title,
        "website": website,
        "description": description
    }
    results.append(result)

json_result = json.dumps(results)
print(json_result)

このコードは、ページにリストされている各ツールのアイコン、カテゴリ、タイトル、Web サイト、説明を抽出し、辞書のリストに保存します。最後に、リストを JSON 文字列に変換して出力します。

3. 導入

pip install requests
pip install bs4

スクリプトは問題なく実行されます

4. まとめ

要はhtmlとゴールを与えて、あとはクコ紅茶を飲んで待つだけです。

おすすめ

転載: blog.csdn.net/u010764910/article/details/130156177