Как вытянуть элементы из списков
Пишу парсер в котором мне нужно вытянуть информацию о диагонали и разрешении телевизоров, получил вот такие вот списки
['', 'Діагональ:', '43" (109 см)', '']
['', 'Роздільна здатність:', '3840 x 2160 (4K UHD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Bluetooth, ', 'Wi-Fi', '']
['', 'Діагональ:', '32" (81 см)', '']
['', 'Роздільна здатність:', '1366 х 768 (WXGA)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Wi-Fi', '']
['', 'Діагональ:', '43" (109 см)', '']
['', 'Роздільна здатність:', '3840 x 2160 (4K UHD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Bluetooth, ', 'Wi-Fi', '']
['', 'Діагональ:', '50" (127 см)', '']
['', 'Роздільна здатність:', '3840 x 2160 (4K UHD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Wi-Fi, ', 'Bluetooth', '']
['', 'Діагональ:', '32" (81 см)', '']
['', 'Роздільна здатність:', '1920 х 1080 (Full HD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'DLNA, ', 'Wi-Fi, ', 'Wi-Fi Direct', '']
['', 'Діагональ:', '40" (101 см)', '']
['', 'Роздільна здатність:', '1920 х 1080 (Full HD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Wi-Fi, ', 'Bluetooth', '']
['', 'Діагональ:', '43" (109 см)', '']
['', 'Роздільна здатність:', '1920 х 1080 (Full HD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Bluetooth, ', 'Wi-Fi', '']
['', 'Діагональ:', '24" (60 см)', '']
['', 'Роздільна здатність:', '1366 х 768 (WXGA)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Wi-Fi, ', 'Bluetooth', '']
['', 'Діагональ:', '50" (127 см)', '']
['', 'Роздільна здатність:', '3840 x 2160 (4K UHD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Bluetooth, ', 'Wi-Fi', '']
['', 'Діагональ:', '32" (81 см)', '']
['', 'Роздільна здатність:', '1366 х 768 (WXGA)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Bluetooth, ', 'Wi-Fi', '']
['', 'Діагональ:', '32" (81 см)', '']
['', 'Роздільна здатність:', '1920 х 1080 (Full HD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Wi-Fi, ', 'Bluetooth', '']
['', 'Діагональ:', '43" (109 см)', '']
['', 'Роздільна здатність:', '3840 x 2160 (4K UHD)', '']
['', 'Формат екрану:', 'широкоекранний (16:9)', '']
['', 'Тип підсвітки:', 'LED', '']
['', 'Бездротові комунікації:', 'Bluetooth, ', 'Wi-Fi, ', 'Miracast, ', 'Wi-Fi Direct', '']
['', 'Діагональ:', '55" (140 см)', '']
В вот таком вот html коде
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">43" (109 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">3840 x 2160 (4K UHD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Bluetooth,
Wi-Fi</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">32" (81 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">1366 х 768 (WXGA)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Wi-Fi</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">43" (109 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">3840 x 2160 (4K UHD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Bluetooth,
Wi-Fi</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">50" (127 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">3840 x 2160 (4K UHD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Wi-Fi,
Bluetooth</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">32" (81 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">1920 х 1080 (Full HD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">DLNA,
Wi-Fi,
Wi-Fi Direct</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">40" (101 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">1920 х 1080 (Full HD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Wi-Fi,
Bluetooth</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">43" (109 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">1920 х 1080 (Full HD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Bluetooth,
Wi-Fi</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">24" (60 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">1366 х 768 (WXGA)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Wi-Fi,
Bluetooth</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">50" (127 см)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Роздільна здатність:</td>
<td class="prop-item-value" style="">3840 x 2160 (4K UHD)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Формат екрану:</td>
<td class="prop-item-value" style="">широкоекранний (16:9)</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Тип підсвітки:</td>
<td class="prop-item-value" style="">LED</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Бездротові комунікації:</td>
<td class="prop-item-value" style="white-space: pre-line">Bluetooth,
Wi-Fi</td>
</tr>
<tr class="prop-item">
<td class="prop-item-title">Діагональ:</td>
<td class="prop-item-value" style="">32" (81 см)</td>
</tr>
Как отсюда с помощью bs4 мне вытянуть диагональ и разрешение телевизора?
Вот мой пайтон код
def parse(url):
item_list = []
items_dig = []
req = requests.get(url)
src = req.text
soup = BeautifulSoup(src, "lxml")
items = soup.find_all(class_="listing__body-wrap image-switch")
for footer in items:
foot = footer.find_all(class_="card__footer")
for foot_info in foot:
foot_info_div = foot_info.find_all(class_="prop-main")
for footer in foot_info_div:
footer_value = footer.find_all("tr", class_="prop-item")
for footer_final in footer_value:
footer_changer = footer_final
print(footer_changer)
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
soup = BeautifulSoup(src, "lxml")
footer_value = soup.find_all('tr')
for footer in footer_value:
if footer.find('td', class_='prop-item-title').text == 'Діагональ:':
aa = footer.find('td', class_='prop-item-value').text
print(f'Діагональ: {aa}')
if footer.find('td', class_='prop-item-title').text == 'Роздільна здатність:':
at = footer.find('td', class_='prop-item-value').text
print(f'Роздільна здатність: {at}')
Діагональ: 43" (109 см)
Роздільна здатність: 3840 x 2160 (4K UHD)
Діагональ: 32" (81 см)
Роздільна здатність: 1366 х 768 (WXGA)
....