BeautifulSoup, реагирующий на данные Python - PullRequest
0 голосов
/ 11 ноября 2018

Пытался использовать маркеры реагирования на данные для поиска в Yahoo Finance числа, но я получил SyntaxError: keyword can't be an expression. Мой код:

Walmart stock
source = requests.get('https://finance.yahoo.com/quote/WMT?p=WMT&.tsrc=fin-srch').text
soup = BeautifulSoup(source, 'lxml')
price = soup.find('span', data-reactid_='35')
print("Walmart stock: " + price.text)

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Попробуй вот так.

import quandl
quandl.ApiConfig.api_key = 'e6Rbk-YUCGHVbt5kDAh_'

# get the table for daily stock prices and,
# filter the table for selected tickers, columns within a time range
# set paginate to True because Quandl limits tables API to 10,000 rows per call

data = quandl.get_table('WIKI/PRICES', ticker = ['WMT'], 
                        qopts = { 'columns': ['ticker', 'date', 'adj_close'] }, 
                        date = { 'gte': '2015-12-31', 'lte': '2016-12-31' }, 
                        paginate=True)
print(data)

Это, наверное, тоже стоит посмотреть.

https://www.quandl.com/api/v3/datasets/EOD/WMT.csv?api_key=your_api_key-oges_here

0 голосов
/ 12 ноября 2018

Вы просто немного ошибаетесь. На мой взгляд, использовать dict более гибко, чем что-то вроде class_=

from bs4 import BeautifulSoup
import requests

source = requests.get('https://finance.yahoo.com/quote/WMT?p=WMT&.tsrc=fin-srch').text
soup = BeautifulSoup(source, 'lxml')
price = soup.find_all('span', {"data-reactid":True})
print(price)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...