2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DatabricksリリースノートのRSSが提供されるようになりました!

Last updated at Posted at 2025-07-17

これでスクレイピングしなくて済む。

Databricksドキュメントリリースノートのフィード
Databricksのドキュメントサイトで製品や他の機能のリリースノートのアップデートを含むRSSフィードを提供するようになりました。このフィードはRSSを使用できる任意のフィードリーダーで使用できるので、Databricks製品リリースのメール通知のようなフィードリーダーの機能を活用することができます。Databricksリリースノートのフィードをご覧ください。

フィードはこちらです。

英語のみですが、LLMで翻訳できるので問題ないです。

ウォークスルー

まずはアクセスしてパースしてみます。

ライブラリのインポート

import requests
import xml.etree.ElementTree as ET
from datetime import datetime
import pandas as pd
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, to_timestamp, current_timestamp
from pyspark.sql.types import StructType, StructField, StringType, TimestampType
import json

RSS フィードの取得

def fetch_rss_feed(url):
    """
    指定されたURLからRSSフィードを取得します。
    
    Args:
        url (str): RSSフィードのURL
    
    Returns:
        str: XMLコンテンツ
    """
    try:
        response = requests.get(url, timeout=30)
        response.raise_for_status()
        return response.content
    except requests.RequestException as e:
        print(f"Error fetching RSS feed: {e}")
        raise

# フィードURLの定義
feed_url = "https://docs.databricks.com/aws/en/feed.xml"

# フィードの取得
print("Fetching RSS feed...")
xml_content = fetch_rss_feed(feed_url)
print("RSS feed fetched successfully!")
Fetching RSS feed...
RSS feed fetched successfully!

XML の解析

def parse_rss_feed(xml_content):
    """
    RSS XMLコンテンツを解析し、記事のリストを返します。
    
    Args:
        xml_content (bytes): XMLコンテンツ
    
    Returns:
        list: 記事の辞書のリスト
    """
    # XMLをパース
    root = ET.fromstring(xml_content)
    
    # チャンネル情報の取得
    channel = root.find('channel')
    channel_info = {
        'title': channel.find('title').text if channel.find('title') is not None else '',
        'link': channel.find('link').text if channel.find('link') is not None else '',
        'description': channel.find('description').text if channel.find('description') is not None else '',
        'language': channel.find('language').text if channel.find('language') is not None else '',
        'lastBuildDate': channel.find('lastBuildDate').text if channel.find('lastBuildDate') is not None else ''
    }
    
    # 記事の解析
    items = []
    for item in channel.findall('item'):
        article = {
            'title': item.find('title').text if item.find('title') is not None else '',
            'link': item.find('link').text if item.find('link') is not None else '',
            'description': item.find('description').text if item.find('description') is not None else '',
            'pubDate': item.find('pubDate').text if item.find('pubDate') is not None else '',
            'guid': item.find('guid').text if item.find('guid') is not None else '',
            'category': item.find('category').text if item.find('category') is not None else ''
        }
        items.append(article)
    
    return channel_info, items

# フィードの解析
channel_info, articles = parse_rss_feed(xml_content)

print(f"Channel: {channel_info['title']}")
print(f"Total articles found: {len(articles)}")
print(f"Last build date: {channel_info['lastBuildDate']}")
Channel: Databricks Release Notes
Total articles found: 58
Last build date: Wed, 16 Jul 2025 18:11:53 GMT

データのプレビュー

# 最初の5件の記事を表示
print("First 5 articles:")
print("-" * 80)
for i, article in enumerate(articles[:5], 1):
    print(f"\n{i}. {article['title']}")
    print(f"   Link: {article['link']}")
    print(f"   Date: {article['pubDate']}")
    if article['description']:
        # 説明文を100文字に制限して表示
        desc = article['description'][:100] + "..." if len(article['description']) > 100 else article['description']
        print(f"   Description: {desc}")
First 5 articles:
--------------------------------------------------------------------------------

1. Databricks documentation release notes feed
   Link: https://docs.databricks.com/aws/en/release-notes/product/2025/july#databricks-documentation-release-notes-feed
   Date: Wed, 16 Jul 2025 00:00:00 GMT
   Description: <p>The Databricks documentation site now provides an RSS feed that contains updates to the product a...

2. Git support for alerts
   Link: https://docs.databricks.com/aws/en/release-notes/product/2025/july#git-support-for-alerts
   Date: Fri, 11 Jul 2025 00:00:00 GMT
   Description: <p>You can now use Databricks Git folders to track and manage changes to alerts. To track alerts wit...

3. Databricks connector for Power BI now supports the ADBC driver (Public Preview)
   Link: https://docs.databricks.com/aws/en/release-notes/product/2025/july#databricks-connector-for-power-bi-now-supports-the-adbc-driver-public-preview
   Date: Fri, 11 Jul 2025 00:00:00 GMT
   Description: <p>You can set the Databricks connector for Power BI to use the <a href="https://github.com/apache/a...

4. Expanded feature support for FIPS-Compliant environments
   Link: https://docs.databricks.com/aws/en/release-notes/product/2025/july#expanded-feature-support-for-fips-compliant-environments
   Date: Fri, 11 Jul 2025 00:00:00 GMT
   Description: <p>Model Serving Foundation Model API pay-per-token endpoints and batch inference using Databricks-h...

5. Databricks Apps support for Lakebase resources
   Link: https://docs.databricks.com/aws/en/release-notes/product/2025/july#databricks-apps-support-for-lakebase-resources
   Date: Tue, 08 Jul 2025 00:00:00 GMT
   Description: <p>Databricks Apps now supports adding Lakebase database instances as app resources. You can then in...

OKです。それではこれを活用します。

Databricksリリースノート(毎日更新)

以前はスクレイピングしていたこちらを再開します。以前はサイトの構成が変わってしまい、うまくスクレイピングできなくなっていましたが、RSSでその心配はなくなります。

以下のページはDatabricksのLakeflowジョブで定期更新するようにしています。

いい感じです。

Screenshot 2025-07-17 at 10.37.28.png

RSSフィード、ぜひご活用ください!

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?