Zenn記事をスクレイピングしてみる - Google Colabで

2024/08/28に公開

Google Colabでスクレイピングを試してみました。
Pythonだと「BeautifulSoup」を使うと良く情報がとれるっぽい。

import requests
from bs4 import BeautifulSoup
# スクレイピング対象のURL
url = "https://zenn.dev/acntechjp/articles/ef0f4221965505"
def scrape_zenn_article(url):
    # URLからHTMLコンテンツを取得
    response = requests.get(url)
    response.raise_for_status()  # エラーがあれば例外を発生させる
    html_content = response.text

    soup = BeautifulSoup(html_content, 'html.parser')

    # 記事の本文を抽出
    article_body = soup.find('div', class_='BodyContent_anchorToHeadings__uGxNv')

    # 本文から不要な要素を削除
    for element in article_body.find_all(['script', 'style', 'iframe']):
        element.decompose()

    # 本文のテキストを抽出し、整形
    content = article_body.get_text(separator='\n', strip=True)

    return {
        'url' : url,
        'content': content
    }

# スクレイピングを実行
url = "https://zenn.dev/acntechjp/articles/ef0f4221965505"
result = scrape_zenn_article(url)

# 結果を表示
print(f"URL: {result['url']}\n")
print(f"Content:\n{result['content']}")

スクレイピング結果は下記となりました。
複数記事を繰り返しで処理すれば、RSSで取得したZenn記事一覧に記事の内容も付与できそう。

Accenture Japan (有志)

Discussion