Парсинг изменения цены акций в BeautifulSoup - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь отказаться от изменения цены некоторых акций.

Я пробовал это:

import requests
from bs4 import BeautifulSoup

url = requests.get('https://finance.yahoo.com/quote/AAPL?p=AAPL&.tsrc=fin-srch').text
soup = BeautifulSoup(url, 'lxml')
ChangePrice = soup.find('span', {'class': 'Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($positiveColor)'}).text
print(ChangePrice)

Вывод: +1.59 (+0.36%)

.

Как вы можете видеть в конце переменной ChangePrice, это $ positiveColor , моя проблема в том, что когда я кладу убыточные акции, мне нужно изменить это на $ negativeColor на заставить его работать нормально, есть ли какое-либо решение, чтобы заставить его работать с обоими запасами, положительным цветом и отрицательным цветом, не меняя каждый раз код?

.

Я пытался удалить C($positiveColor), но это дает мне ошибку AttributeError: 'NoneType' object has no attribute 'text'.

I wi sh моя проблема ясна, если кто-то может мне помочь, я буду очень признателен.

.

Спасибо заранее

1 Ответ

0 голосов
/ 06 августа 2020

Вы можете добавить оба classes в list, чтобы выбрать любой из них.

import requests
from bs4 import BeautifulSoup

url = requests.get('https://finance.yahoo.com/quote/AAPL?p=AAPL&.tsrc=fin-srch').text

soup = BeautifulSoup(url, 'lxml')
ChangePrice = soup.find('span', {'class': ['Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($positiveColor)',
                                           'Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($negativeColor)']}).text

print(ChangePrice)
...