[Scrapy] Парсер объявлений о продаже часов с единственного сайта
Задача
1. Цель проекта
На данном этапе создается базовый инструмент для сбора и обновления данных, который станет основой для агрегатора объявлений о продаже часов.
2. Постановка задачи
Необходимо разработать парсер для автоматического сбора данных из объявлений о продаже часов с сайта. Ссылка на сайт и детальная постановка задачи находятся в приложенном документе. Парсер должен сохранять данные в базу данных в сыром виде и обновлять их при повторном парсинге. На текущем этапе нормализация данных не требуется.
3. Отклик
Безопасная сделка. Готов ответить на любые доп. вопросы по задаче. Готов к корректировкам в постановке, если что-либо кажется неоптимальным. В отклике прошу указать желаемые сроки и стоимость работ.
4. Ожидаемый результат
Заказчик предоставляет:
+ Сервер и рут учетную запись
+ Доступ к репозиторию кода
Исполнитель должен предоставить:
4.1 Настроенный сервер с установленной и настроенной инфраструктурой (операционная система, учетные записи, фаервол, СУБД).
4.2 Систему парсинга, к...
Видеть полную информацию и оставлять заявки могут только авторизованные пользователи.
# Функция для парсинга данных с указанного URL
def parse_watches(url):
response = requests.get(url)
response.raise_for_status() # Проверка на ошибки при запросе
soup = BeautifulSoup(response.text, 'html.parser')
watches = []
for item in soup.select('.watch-item'): # Замените на реальный селектор
title = item.select_one('.watch-title').text.strip() # Замените на реальный селектор
price = item.select_one('.watch-price').text.strip() # Замените на реальный селектор
link = item.select_one('a')['href'] # Замените на реальный селектор
watches.append((title, price, link))
return watches
# Функция для сохранения данных в базу
def save_to_database(conn, watches):
cursor = conn.cursor()
for watch in watches:
cursor.execute('''
INSERT INTO watches (title, price, link)
VALUES (?, ?, ?)
ON CONFLICT(link) DO UPDATE SET
title=excluded.title,
price=excluded.price,
timestamp=CURRENT_TIMESTAMP
''', watch)
conn.commit()
# Основная функция для запуска парсера
def main():
url = 'https://example.com/watches' # Замените на ваш URL
conn = create_database()
while True:
watches = parse_watches(url)
save_to_database(conn, watches)
print(f'Parsed and saved {len(watches)} watches.')
13:30 01.01.25
# Функция для создания базы данных и таблицы
def create_database():
conn = sqlite3.connect('watches.db')
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS watches (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT,
price TEXT,
link TEXT,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
)
''')
conn.commit()
return conn
# Функция для парсинга данных с указанного URL
def parse_watches(url):
response = requests.get(url)
response.raise_for_status() # Проверка на ошибки при запросе
soup = BeautifulSoup(response.text, 'html.parser')
watches = []
for item in soup.select('.watch-item'): # Замените на реальный селектор
title = item.select_one('.watch-title').text.strip() # Замените на реальный селектор
price = item.select_one('.watch-price').text.strip() # Замените на реальный селектор
link = item.select_one('a')['href'] # Замените на реальный селектор
watches.append((title, price, link))
return watches
# Функция для сохранения данных в базу
def save_to_database(conn, watches):
cursor = conn.cursor()
for watch in watches:
cursor.execute('''
INSERT INTO watches (title, price, link)
VALUES (?, ?, ?)
ON CONFLICT(link) DO UPDATE SET
title=excluded.title,
price=excluded.price,
timestamp=CURRENT_TIMESTAMP
''', watch)
conn.commit()
# Основная функция для запуска парсера
def main():
url = 'https://example.com/watches' # Замените на ваш URL
conn = create_database()
Основная специализация: Веб-разработка и Продуктовый дизайн
Добрый день, Дмитрий! Могу помочь, опыта в парсинге много, отзывы за некоторые из моих работ есть в профиле. Всё перечисленное без проблем реализую, если актуально - напишите пожалуйста в телеграм https://t.me/amiralvtk потому что отсюда уведомления не приходят.
Доброго времени суток!
Готов обсудить Ваш проект.
Есть большой опыт в написании телеграм ботов, сайтов и парсеров, работой с ИИ ChatGPT. Окончательные сроки и стоимость обсудим в чате или тг, как удобнее.
Примеры выполненных работ можете увидеть тут: https://t.me/pro_ficient_python_projects
Также мой аккаунт на другой бирже где есть отзывы:
https://kwork.ru/user/dimagolosov
Для удобства можем связаться вы тг: https://t.me/pro_ficient_python
Есть опыт работы с парсингом, как раз на python. Работа не сложная, больше объ?мная (в части настройки системы) поэтому цена 10000?, но готов к торгу. Расчёт настройки сервера, скажите, нужно будет работать напрямую, физически, с сервером? Или по удал?нному подключению?
[Scrapy] Парсер объявлений о продаже часов с единственного сайта
Реклама
[Scrapy] Парсер объявлений о продаже часов с единственного сайта
1. Цель проекта
На данном этапе создается базовый инструмент для сбора и обновления данных, который станет основой для агрегатора объявлений о продаже часов.
2. Постановка задачи
Необходимо разработать парсер для автоматического сбора данных из объявлений о продаже часов с сайта. Ссылка на сайт и детальная постановка задачи находятся в приложенном документе. Парсер должен сохранять данные в базу данных в сыром виде и обновлять их при повторном парсинге. На текущем этапе нормализация данных не требуется.
3. Отклик
Безопасная сделка. Готов ответить на любые доп. вопросы по задаче. Готов к корректировкам в постановке, если что-либо кажется неоптимальным. В отклике прошу указать желаемые сроки и стоимость работ.
4. Ожидаемый результат
Заказчик предоставляет:
+ Сервер и рут учетную запись
+ Доступ к репозиторию кода
Исполнитель должен предоставить:
4.1 Настроенный сервер с установленной и настроенной инфраструктурой (операционная система, учетные записи, фаервол, СУБД).
4.2 Систему парсинга, к...