Выполнить парсинг двух страниц с сайта https://zakupki.gov.ru/ по каждой закупке
спарсить номер закупки, дату размещения, обновления и окончание подачи заявок,
начальную цену контракта. Данные сохранить в pandas датафрейм и в формат csv.
bash
pip install requests
pip install beautifulsoup4
pip install pandas
Затем напишем скрипт для парсинга сайта и сохранения данных в датафрейм pandas и в файл csv. Все команды можно запустить поочередно в среде скриптового интерпретатора Python.
python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# Функция для парсинга данных по каждой закупке
def parse_purchase(url):
response = requests.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.content, 'html.parser')
# Парсим данные
purchase_number = soup.find('div', {'class': 'cardMainInfo__number'}).text.strip()
publication_date = soup.find('span', {'class': 'cardMainInfo__createDate'}).text.strip()
update_date = soup.find('span', {'class': 'cardMainInfo__updateDate'}).text.strip()
end_date = soup.find('span', {'class': 'cardMainInfo__endDate'}).text.strip()
initial_price = soup.find('div', {'class': 'cardMainInfo__priceBidding'}).text.strip()
return {
'Purchase Number': purchase_number,
'Publication Date': publication_date,
'Update Date': update_date,
'End Date': end_date,
'Initial Price': initial_price
}
else:
print(f'Failed to fetch URL: {url}')
return None
# Ссылки на две страницы для парсинга
urls = ['https://zakupki.gov.ru/123456789', 'https://zakupki.gov.ru/987654321']
# Список для хранения данных по каждой закупке
purchase_data = []
for url in urls:
data = parse_purchase(url)
if data:
purchase_data.append(data)
# Создаем датафрейм pandas из полученных данных
df = pd.DataFrame(purchase_data)
# Сохраняем данные в файл csv
df.to_csv('purchases_data.csv', index=False)
print('Data parsing and saving to CSV is complete.')
В данном скрипте мы используем функцию `parse_purchase`, которая занимается парсингом данных по каждой закупке. Мы указываем необходимые классы для соответствующих элементов на странице и достаем данные. Далее мы проходим по списку URL-адресов, парсим данные для каждой закупки и сохраняем их в список `purchase_data`.
После этого мы создаем датафрейм pandas из полученных данных и сохраняем его в файл csv с помощью метода `to_csv`.
После выполнения скрипта у вас будет файл `purchases_data.csv`, содержащий данные по каждой закупке.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет