BeautifulSoup извлекает несколько таблиц - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь извлечь некоторые данные из двух таблиц из одной и той же HTML с BeautifulSoup. На самом деле, я уже извлек часть из обеих таблиц, но не все. Это код, который у меня есть:

from urllib.request import urlopen
from bs4 import BeautifulSoup

html_content = urlopen('https://www.icewarehouse.com/Bauer_Vapor_X25_Ice_Hockey_Skates/descpage-V25XS.html')
soup = BeautifulSoup(html_content, "lxml")

tables = soup.find_all('table', attrs={'class' : 'orderingtable fl'})

for table_skates in tables:

    t_headers = []
    t_data = []
    t_row = {}

    for tr in table_skates.find_all('th'):

        t_headers.append(tr.text.replace('\n', '').strip())

    for td in table_skates.find_all('td'):

        t_data.append(td.text.replace('\n', '').strip())

    t_row = dict(zip(t_headers, t_data))

    print(t_row)

Вот вывод, который я получаю:

{'Size': '1.0', 'Price': '$109.99', 'Stock': '1', 'Qty': ''}
{'Size': '7.0', 'Price': '$159.99', 'Stock': '2+', 'Qty': ''}

1 Ответ

0 голосов
/ 04 апреля 2020

Вы можете легко получить его, используя 'read_ html' в 'pandas'.

df = pd.read_html(html_content, attrs={'class' : 'orderingtable fl'})

enter image description here

...