Получение новостных статей с веб-сайта Yahoo Finance CanadaPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение новостных статей с веб-сайта Yahoo Finance Canada

Сообщение Anonymous »

Я пытаюсь получить все новостные статьи о компании, биржевой символ которой — TECK-B.TO, которые были опубликованы в 2024 году в Yahoo Finance Canada. Статьи можно увидеть по этому URL:
https://ca.finance.yahoo.com/quote/TECK-B.TO/news.
Как видно, по указанному выше URL-адресу содержится более 50 статей об этой компании.
Используя Databricks и приведенный ниже код Python, мне удалось получить 2 статьи. .
Я хотел бы получить все статьи по указанному выше URL-адресу, которые были опубликованы в 2024 году.
Я пробовал использовать этот код:

Код: Выделить всё

# Install necessary libraries
# %pip install requests beautifulsoup4 pandas

import requests
from bs4 import BeautifulSoup
import pandas as pd
from pyspark.sql.types import StructType, StructField, StringType, TimestampType
from datetime import datetime

def fetch_tmx_news_2024():
url = "https://ca.finance.yahoo.com/quote/TECK-B.TO/news/"
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

articles = []

for item in soup.find_all('li', class_='js-stream-content'):
link = item.find('a')['href'] if item.find('a') else None
title = item.find('a').text if item.find('a') else None
date_str = item.find('time')['datetime'] if item.find('time') else None

# Debug print to check each article's details
print(f"Title: {title}, Link: {link}, Date: {date_str}")

if date_str:
date = datetime.strptime(date_str, "%Y-%m-%dT%H:%M:%SZ")
print(f"Parsed Date: {date}")  # Debug print to check parsed date
if date.year == 2024:
articles.append({
'title': title,
'link': f"https://ca.finance.yahoo.com{link}" if link else None,
'date': date
})

# Debug print to check the articles list
print("Articles found: ", articles)

schema = StructType([
StructField("title", StringType(), nullable=True),
StructField("link", StringType(), nullable=True),
StructField("date", TimestampType(), nullable=True)
])

if articles:
return spark.createDataFrame(pd.DataFrame(articles), schema=schema)
else:
print("No articles found for the year 2024.")
return spark.createDataFrame(pd.DataFrame(columns=['title', 'link', 'date']), schema=schema)

# Invocation of the function
news_df = fetch_tmx_news_2024()

# Display Spark DataFrame
display(news_df)
Я ожидаю получить все статьи о вышеупомянутой компании, опубликованные в 2024 году по указанному выше URL (https://ca.finance.yahoo.com/quote/ TECK-B.TO/news/).

Подробнее здесь: https://stackoverflow.com/questions/790 ... da-website
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Получение новостных статей с веб-сайта Yahoo Finance Canada
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Получение новостных статей с веб-сайта Yahoo Finance Canada
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Получение новостных статей с веб-сайта Yahoo Finance Canada
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Получение новостных статей с сайта Yahoo Finance Canada
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Получение новостных статей с сайта Yahoo Finance Canada
    Anonymous » » в форуме Html
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»