Разбор через HTML для извлечения данных из строк таблицы с красивым супом - PullRequest
0 голосов
/ 26 июня 2018

Я использую BeautifulSoup для извлечения биржевой информации с сайта NASDAQ. Я хочу получить информацию именно из строк таблицы на странице HTML, но всегда получаю сообщение об ошибке (строка 12).

    #import html-parser
    from bs4 import BeautifulSoup
    from requests import get

    url = 'https://www.nasdaq.com/symbol/amzn' #AMZN is just an example
    response = get(url)

    #Create parse tree (BeautifulSoup Object)
    soup = BeautifulSoup(response.text, 'html.parser')
    data = soup.find_all(class_= 'column span-1-of-2')

    table = data.find(class_= 'table-row') #This is where the error occurs
    print(table)

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете сделать что-то подобное, чтобы получить данные из строк таблицы.

import requests
from bs4 import BeautifulSoup
import re

r = requests.get("https://www.nasdaq.com/")

print(r)
soup = BeautifulSoup(r.content, 'html.parser')
data = soup.find('table',{'id':'indexTable', 'class':'floatL marginB5px'}).script.text
matches = re.findall(r'nasdaqHomeIndexChart.storeIndexInfo(.*);\r\n', data)
table_rows = [re.findall(r'\".*\"', row) for row in matches]
print(table_rows)

table_rows - список списков, содержащий данные таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...