Pull to refresh
4
0
Алексей Москаленко @mascai

Программист C++ / Python

Send message

Опечатка в строке (лишний ' в конце строки)

name: &'a str,'

Опечатка:

Здесь NRVO может быть применено, поскольку N конструируется из p.

В коде нет переменной p. Должна быть n

Спасибо, исправил

Спасибо! Отличная статья

Для версий clap = "2.29" и reqwest = "0.8"была ошибка

failed to select a version for the requirement security-framework = "^0.1.13"

Решение - обновить версии зависимостей

[dependencies]
clap = "4.3.4"
reqwest = "0.11.18"

пример того, как по бинарному файлу определить структуру сообщений, которую использует сайт

и пример того, как декодировать бинарный файл (извлечь из него нужные данные)


Команда

protoc --proto_path=proto_files --python_out=proto_structs offers.proto

создает файл offers_pb2.py в папке proto_structs/

Этот файл содержит описание полей для протобафа. Пример:

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: offers.proto
...

_OFFER = _descriptor.Descriptor(
  name='Offer',
  full_name='Offer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='Offer.name', index=0,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ...

Думаю, да
Две цели
1) Производительность
2) Скрытие данных

Плюсы использования Django:
1) Готовые библиотеки для создания Rest API

2) Возможность описывать модель данных через Django ORM

3) Готовая админка

Celery позволяет запускать задачи с помощью планировщиков, таких как crontab в Linux.

Пример:

from celery.schedules import crontab

CELERY_BEAT_SCHEDULE = {
    'monday-task': {
        'task': 'myproject.apps.tasks.task_name',
        'schedule': crontab(day_of_week=1, hour=1)
    },
}

Статья не про Scrapy, Selenium и подобные библиотеки, а про инфраструктуру для парсинга (интерфейс, постановка задач, хранение данных)

1) Адресаты - программисты, которые хотят научиться разрабатывать сложные парсеры (не просто скрипт, а полноценное веб-приложение с рест-апи, базой данных и асинхронными задачами)

2) "совсем галопом по европам" - согласен, что в статье раскрыты не все фишки, но главная цель статьи - это пошаговое руководство по созданию инфраструктуры для парсинга

3) Рабойчий вариант 100 % можно воспроизвести, так как шаг за шагом записывал свои действия))

Спасибо за фидбек)

Information

Rating
Does not participate
Registered
Activity