Не совпадают выходные данные в парсере на Python, почему?
import bs4
import time
import csv
from selenium import webdriver # pip install selenium
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager # pip install webdriver-manager
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as driver: # Открываем хром
driver.get(
"https://www.vseinstrumenti.ru/search/page3/?what=%D0%9C%D1%83%D1%84%D1%82%D0%B0%20%D0%BA%D0%BE%D0%BC%D0%B1%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%B0%D1%8F%20%D0%92%D0%A0%2020%2a%203%2F4%20Valfex%20%28100%2F25%29") # Открываем страницу
time.sleep(5) # Время на прогрузку страницы
soup = bs4.BeautifulSoup(driver.page_source, 'html.parser')
heads = soup.find_all('div', class_='pSmTBa AUnCMw YJsT8J UKF+8w Z-t4Xt')
# print(len(heads))
for i in heads:
w = i.find_next('div', class_='j07RMn wyyij7').find('a').get('href')
# print('https://www.vseinstrumenti.ru'+w)
url = ('https://www.vseinstrumenti.ru' + w)
with webdriver.Chrome(service=Service(ChromeDriverManager().install())) as loom: # Открываем хром
loom.get(url) # Открываем страницу
time.sleep(5) # Время на прогрузку страницы
head = bs4.BeautifulSoup(loom.page_source, 'html.parser')
zagol = head.find('h1', class_='typography heading v3 -no-margin')
print(zagol.text.strip())
nazvan = (zagol.text.strip())
param_1 = head.find('div', class_='IjwckR').find_all('span', itemprop='name')
for ex in param_1:
print(ex.text.strip())
name = (ex.text.strip())
param_2 = head.find('div', class_='IjwckR').find_all('span', itemprop='value')
for wee in param_2:
print(wee.text.strip())
charact = (wee.text.strip())
print(name + ':' + charact)
Есть код парсера который собирает данные. В итерации for ex in param_1: данные на печать выводятся правильно , последовательно. В итерации for wee in param_2: тоже на печать всё правильно выводится последовательно. Но в print(name + ':' + charact) параметр name повторяется одно и то-же, тогда как в параметре charact данные выводятся правильно. Кто знает в чем причина (ошибка)?
Источник: Stack Overflow на русском