0
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?

NY連銀からプレスリリースを取得する

Posted at

この記事では、requests、BeautifulSoup、およびdatetimeモジュールを使用して、NY連銀のウェブページからプレスリリースの情報(タイトル、日付、URL)を取得する方法を解説します。

コードの概要

import requests
from bs4 import BeautifulSoup
from datetime import datetime

最初に、必要なライブラリをインポートします。

requests: ウェブページの内容を取得するためのライブラリ。
BeautifulSoup: 取得したウェブページの内容を解析して必要なデータを抽出します。
datetime: 日付をフォーマットするためのライブラリ。

データ取得の流れ

まず、ウェブページからデータを取得し、その内容を解析します。

def extract_press_releases(url):
    response = requests.get(url)  # ウェブページの内容を取得
    soup = BeautifulSoup(response.text, 'html.parser')  

次に、プレスリリースの情報(日付、タイトル、URL)を取得します。

    press_releases = []

    rows = soup.select('tr.Research, tr.Press')  # プレスリリースの行をすべて取得

    for row in rows:
        date_tag = row.select_one('td.dirColL div')
        if date_tag:
            raw_date = date_tag.get_text(strip=True)  # 日付を取得
            try:
                date = datetime.strptime(raw_date, "%b %d, %Y").strftime("%Y-%m-%d")  # 日付をyyyy-mm-dd形式に変換
            except ValueError:
                date = "Invalid date format"
        else:
            date = "Date not found"

        title_tag = row.select_one('td.dirColR div.tablTitle a')
        if title_tag:
            title = title_tag.get_text(strip=True)  # タイトルを取得
            link = f"https://www.newyorkfed.org{title_tag.get('href')}"  # フルURLを作成
        else:
            title = "Title not found"
            link = "Link not found"

        press_releases.append((date, title, link))  # リストに追加

    return press_releases

rows: ウェブページからプレスリリースのリストを取得します。
date_tag: プレスリリースの日付を抽出し、datetimeライブラリでyyyy-mm-dd形式に変換します。
title_tag: プレスリリースのタイトルとリンクを取得します。

結果の表示

最後に、取得した情報を表示します。


url = 'https://www.newyorkfed.org/press/#press-releases'
press_releases = extract_press_releases(url)

for date, title, link in press_releases:
    print(f"Date: {date}\nTitle: {title}\nURL: {link}\n")
0
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
0
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?