Здравствуйте.
Пишу парсер на Python и столкнулся с такой проблемой: мне нужно вытащить 2 значения, "Размещено" и "Окончание подачи заявок". Вся суть в том, что они имеют одинаковый тег и я вытаскиваю только первое значение, "Размещено".
Вот сам код:
def scraper():
found = []
# next_page = 0
url = f"https://zakupki.gov.ru/epz/order/extendedsearch/results.html?searchString=%D0%BF%D1%81%D0%B8%D1%85%D0" \
f"%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5+%D0%BE%D0%B1%D1%81%D0%BB%D0%B5%D0%B4" \
f"%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&morphology=on&search-filter=%D0%94%D0%B0%D1%82%D0%B5+%D1%80%D0" \
f"%B0%D0%B7%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D1%8F&pageNumber=1&sortDirection=false&recordsPerPage" \
f"=_10&showLotsInfoHidden=false&sortBy=UPDATE_DATE&fz44=on&fz223=on&af=on&ca=on&pc=on&pa=on" \
f"¤cyIdGeneral=-1&publishDateFrom=01.01.2018&OrderPlacementSmallBusinessSubject=on" \
f"&OrderPlacementRnpData=on&OrderPlacementExecutionRequirement=on&orderPlacement94_0=0" \
f"&orderPlacement94_1=0&orderPlacement94_2=0 "
user = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 '
'Safari/537.36'}
response = requests.get(url, headers=user) # get response
soup = BeautifulSoup(response.content, 'html.parser')
items = soup.find_all('div', class_="search-registry-entry-block box-shadow-search-input")
for elem in items:
# pp(elem)
found.append({
"No.":
elem.find('div', class_='registry-entry__header-mid__number').get_text(strip=True),
"Объект закупки":
elem.find('div', class_='registry-entry__body-value').get_text(strip=True),
"Заказчик":
elem.find('div', class_='registry-entry__body-href').get_text(strip=True),
"Статус":
elem.find('div', class_='registry-entry__header-mid__title').get_text(strip=True),
"Размещено":
elem.find('div', class_='data-block__value').get_text(strip=True),
"Окончание подачи заявок":
elem.find('div', string="Окончание подачи заявок"),
"Начальная цена": elem.find('div', class_='price-block__value'),
})
pp(found)
scraper()
И еще момент, скажите как нормально изъять сумму из тега? У меня получается, вот что - '1\xa0289\xa0440,00 ₽\n