170 похожих чатов

Есть список (список доменов) который надо обработать. Также есть обработчики

(n-е количестов) которые могут обработать домен и вернуть результат, у обработчика есть количестов раз, сколько доменов он может обработать всего (50) и после каждой обработки он должен засыпать на 5 секунд. Как лучше реализовать это, чтоб паралельно работали все обработчики? Можно ли это реализовать с помощью ThreadPoolExecutor. Сделал такую реализацию(не самую удачную), но я думаю это можно намного проще реализовать, но не знаю как https://gist.github.com/djigit0s/461880b3e6825db57ffed62f7e670132

domains = ['aa.com', 'bb.com', 'cc.com',
'dd.com', 'ee.com', 'ff.com', 'gg.com']
workers = [
{
'id': 1,
'attempt': 98,
'is_locked': False,
'status': 'ready'
},
{
'id': 2,
'attempt': 60,
'is_locked': False,
'status': 'ready'
},
]

15 ответов

25 просмотров
djigit0s- Автор вопроса

@Tishka17 посоветуй что-нибудь

что значит "обработать домены"?

djigit0s- Автор вопроса
Tishka17
что значит "обработать домены"?

я для примера сделал функцию которая приписывает http, реальная задача получить данные с сайта

djigit0s- Автор вопроса

может есть идеи как сделать лучше?

djigit0s- Автор вопроса

@Tishka17 не посоветуешь ничего?

djigit0s
@Tishka17 не посоветуешь ничего?

Посветую почитать соглашения всех сайтов

djigit0s- Автор вопроса
Tishka17
Посветую почитать соглашения всех сайтов

а каким образом это относится к коду?

djigit0s
а каким образом это относится к коду?

Предположительно сильно сократится количество сайтов

djigit0s- Автор вопроса
Tishka17
Предположительно сильно сократится количество сайт...

это же никак не повлияет на код, данный код можно применить к любой другой задаче, необязательно к парсингу

djigit0s
это же никак не повлияет на код, данный код можно ...

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

djigit0s- Автор вопроса
Ruslan Chernenko
если твои обработчики много ходят в сеть, то тебе ...

на многих сайтах этого соглашения, в котором говорится о запрете нету в принципе, да и в коде не указаны сайты, @Tishka17 если бы я написал, что задача заключается в другом, а не в парсинге сайтов это изменило что либо?

djigit0s- Автор вопроса
djigit0s- Автор вопроса

ребята посоветуйте как сделать лучше и правильнее?

djigit0s- Автор вопроса

???????

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта