Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 24, 2018 14:05:41

xoholuhi
Зарегистрирован: 2018-01-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

Здравствуйте.
Крайне необходима Ваша помощь в написании следующего кода под Линукс.

Многопоточный скрипт, который из файла queries.txt берет строку (line) и отправляет POST запрос по адресу domain.com. Затем анализирует полученный ответ. Если URL ответ содержит
строку abc, тогда в файл a.txt;
строку qwerty, тогда в файл q.txt;
в противном случае отправляем в z.txt.
Причем запись в файл необходимо делать посредством добавления в список в главном потоке. (Хотя может быть у Вас будет другое решение).
Основная задача - оптимизация по скорости работы.
Параметры POST запроса
1. Data: q=line
2. Поддержка Cookies
3. Поддержка followlocation
4. Добавить Header (“Auth: Site.com”);


Заранее огромнейшее человеческое Мерси за Ваше время и помощь!

Офлайн

#2 Янв. 24, 2018 14:30:09

Slow
Зарегистрирован: 2017-07-26
Сообщения: 88
Репутация: +  4  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

Что именно из описанного не получается?

Офлайн

#3 Янв. 24, 2018 17:19:15

xoholuhi
Зарегистрирован: 2018-01-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

Да всё)
Я еще слишком “новичек” в питоне.

Офлайн

#4 Янв. 24, 2018 17:25:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

xoholuhi
Да всё)
Я еще слишком “новичек” в питоне.
И вы хотите, чтобы за вас сденлали “всё”? На том основании, что вы новичок?



Офлайн

#5 Янв. 24, 2018 17:48:37

xoholuhi
Зарегистрирован: 2018-01-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

FishHook
И вы хотите, чтобы за вас сденлали “всё”? На том основании, что вы новичок?

Главное, чтоб сделали. Насчет оснований всегда можно договориться. Мы же все-таки люди ;-)

Офлайн

#6 Янв. 24, 2018 17:50:53

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

xoholuhi
Насчет оснований всегда можно договориться.
Ваши предложения?



Офлайн

#7 Янв. 24, 2018 18:09:30

xoholuhi
Зарегистрирован: 2018-01-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

FishHook
Ваши предложения?
Говорю ж полный “новичек” в питоне.
Насколько сложно судить Вам, мэтрам.
Поэтому интересно насколько реально это по времени и по затратам. Предлагаю все нюансы обсудить в ЛС, если удобно.

Офлайн

#8 Янв. 24, 2018 19:33:56

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

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

 import grequests
prepared_query = bla_bla.txt
file_save = oLo_Lo.txt
def read_txt(file):
    query = []
    for line in file:
        query.append(grequests.post(cookies = 'my_cookies', data = line, headers = 'my_headers'))
    return query
def async(query):
    response = grequests.map(query, gtimeout=8)
    for i, resp in enumerate(response):
        if 'abc' in resp:
            with open(file_save, 'w') as f:
                 my_string_to write = '{}'.format(resp)
                 f.write(my_string_to write)





Отредактировано papuas (Янв. 24, 2018 20:23:09)

Офлайн

#9 Янв. 24, 2018 23:03:13

xoholuhi
Зарегистрирован: 2018-01-24
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

papuas
это не трудно, вот примерно так это делается, проверять некогда пишу с мобилы.навряд ли вам многопоточность нужна.
Честно сказать многопоточность очень нужна, поэтому и решил задачу решать на питоне. Кроме этого нюанс с тем, чтоб потока “не ждали” освобождение файла для записи и предложил, как вариант воспользоваться списком в главном потоке и затем запись в файл. (Прочёл это в интернете). Возможно, у Вас будут более оптимизированные решения.

Если возможно - покажите, пожалуйста, на данном примере многопоточность.
И в ЛС отправьте сразу кошелек киви для пополнения баланса мобильного)

Спасибо за всё!

Офлайн

#10 Янв. 27, 2018 21:05:19

Nicke_grodno
Зарегистрирован: 2018-01-19
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Многопоточность, POST запрос и другие шалости

Многопоточности в питоне нету

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version