• Можно ли запустить несколько ядер linux?

    @pfg21
    ex-турист
    да, могут.
    даже если разные проги, а не только пользователи, потребуют разного окружения.
    в виртуалках или в контейнерах или что подобное.

    помешает проблема, что "две хозяйки на одной кухне не уживутся" :)
    ядро ориентировано на монопольное управление железом.
    потому все остальные ядра операционок (не обязательно линухи) надо запаковывать в средства виртуализации железа компутера.
    Ответ написан
    1 комментарий
  • Как правильно написать мультипоточность на питоне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Blankspace у

    1) тебя все задачи - независимые. Ты можешь запускать 6 отдельных процессов на Python. В таком случае тебе не надо думать о синхронизации потоков.
    2) ты описал задачу максимальной утилизации ресурсов. Это - неверная задача. Это все равно что ты захотел сжечь побольше бензина. Цель - быстрее закончить парсинг N сайтов например используя M proxy серверов.
    3) Твой вопрос
    Сколько максимально я могу парсить сайтов по такой схеме, ориентируясь на мощность процессора

    Ответ - никто не знает. Не существует такой расчетной формулы. Есть скорее сет экспериментов которые ты сам будешь запускать на своей конфигурации и в зависимости от параметров (M,N) и получать результирующее время в секундах или в минутах. Процессорные мощности здесь скорее всего нипричем. Здесь сильнее влияет канал ввода вывода. Тоесть скорость сети и скорость с которой ты сохраняешь на диск разобранные данные.

    Точно также поступают архитекторы когда думают о дизайне очень сложной системы. Просто берут аналог. И его цифры. И пытаются осторожно экстраполировать цифры.

    Мегагерцы и мегафлопы и количество ядер процессора - эти метрики можно использовать в других задачах не похожих на твою.

    Почитай также про закон Амдала. Он сработает в твоём случае.
    Ответ написан
    Комментировать
  • Как правильно написать мультипоточность на питоне?

    @deliro
    Парсинг сайтов чаще всего упирается с IO, а не CPU. 99% времени ты будешь сидеть и ждать ответа от сервера. Ядра тут вообще не нужны. Достаточно в asyncio закинуть тасков на HTTP запросы через какой-нибудь httpx или aiohttp и всё будет прекрасно "одновременно" качаться в одном потоке на одном ядре. А потом разгребать ответы либо синхронно, либо создать пул процессов (ProcessPoolExecutor) и парсить HTML/JSON или что у тебя там в процессах, если CPU вдруг начал нагружаться на 100%

    Потоки в питоне не умеют работать одновременно, нагружая разные ядра процессора, кроме очень исключительных случаев.
    Ответ написан
    Комментировать
  • Как использовать python requests с прокси через tor?

    seven5674
    @seven5674
    Старый я уже что бы что-то в себе менять
    Как

    Простым способом никак

    Если кратко то прокси это точка выхода и если она сама по себе на заточена на использование тора завернуть трафик в тор не получится. Это возможно только в том случае если проски твои как собственно и машина на которой это все хозяйство крутится но тогда тебе нужно поднимать ноду

    А к чему такой головняк ?
    Если ты хочешь скрыть использование тора то используй tor over vpn
    Самый простой джентельменский набор это установка на виртуалку whonix а на host системе включай vpn. Внутри whonix используй прокски чтобы скрыть использование tor для сайта который будешь парсить.... или что ты там удумал
    Ответ написан
    Комментировать
  • Как вытянуть imei при помощи смс?

    vabka
    @vabka
    Токсичный шарпист
    Если кто-то знает способ вытащить данные из телефона, только отправив на него смс - эту информацию он будет продавать за много денег на хакерских форумах
    Ответ написан
    2 комментария
  • Можно ли внедрить исполняемый скрипт в qr code?

    vabka
    @vabka
    Токсичный шарпист
    Как бы да, но как бы нет.
    Ограничения:
    1. Qr-код вмещает в себя очень немного данных даже в теории. На практике - при очень большом объёме данных, пользователь даже просканить не сможет его.
    2. QR-код сканируется приложением. Приложение должно знать, что делать с твоим кодом - иначе код будет воспринят как сырые данные или сырой текст.
    3. Objective-c компилируется в машинный код, что делает его зависимым от ОС и архитектуры процессора. Емнип, на Андроиде его использовать в принципе не получится, а на Айфоне запустить сторонний код принципиально нельзя.

    В теории, ты можешь любой код скомпилировать в webassembly (а в случае js даже это не надо) и закодировать как data URL, что позволит открыть и запустить его в браузере.
    Но я не знаю, можно ли objective-c скомпилировать в wasm.

    Всякие варианты с RCE и подобными уязвимостями в приложении-сканере не рассматриваю.

    PS: мне кажется, у тебя проблема X-Y
    Ответ написан
    Комментировать