очистка данных из таблицы с кнопкой «показать все»

#python #web-scraping #beautifulsoup #python-requests

#python #веб-очистка #beautifulsoup #python-запросы

Вопрос:

Я пытаюсь очистить таблицу «ВСЕ АКЦИИ» по следующей ссылке, в которой есть кнопка «Показать все»

https://www.trading212.com/en/Trade-Equities

Я должен иметь возможность получить расширенную таблицу, а не только некоторые строки, прежде чем таблица будет расширена.

вот мой код

 import requests
import pandas as pd
from bs4 import BeautifulSoup as bs

header = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/88.0.4324.150 Safari/537.36"}

url = 'https://www.trading212.com/en/Trade-Equities'

r = requests.get(url, headers = header)

soup = bs(r.content, 'html.parser')

all_equities = soup.find('table' , class_ = 'I cant find the name of the class')
print(all_equities)
 

Комментарии:

1. На этой странице не используется table элемент, данные, которые вы ищете, находятся в div элементе.

Ответ №1:

Содержимое фактически находится в div, а не в таблице. Вы можете получить все содержимое, используя класс, который находится в каждом из divs.

 all_equities = soup.find_all('div' , class_ = 'js-search-row')
 

выдаст вам список всех divs с указанием в них акций.

Ответ №2:

Попробуйте этот код:

 all_equities = soup.find_all('div' , class_ = 'd-row js-search-row js-acc-wrapper')