@ru_python

Страница 8843 из 9768
Tishka17
26.04.2019
10:40:15
понял, отдельно
как вариант - пиши в конце. Или два файла юзай. Или сначлаа вс епрочитай и потом думай

Ugly
26.04.2019
10:40:32
а не проще будет считать в лист а потом через коллекции. но тут вопрос - насколько большой список, влезет ли в память

Deezy
26.04.2019
10:41:23
список мал, около 100-150 ip адресов

Ugly
26.04.2019
10:43:02
можно ещё проще

Google
Ugly
26.04.2019
10:43:03
listOfNums = list(set(listOfNums))

но я так, диски разгружаю

Deezy
26.04.2019
10:44:48
при перезагрузке скрипта вылетает из памяти же?

Ugly
26.04.2019
10:45:14
ну отфильтровал дубли, скинул на диск

Vorug
26.04.2019
10:59:21
такой ещё вопрос по сокетам, я когда получаю данные s.recv(1000) как определить что последний полученный кусок является последним? потому как если после последнего слать ещё один запрос оно залипает в ожидании данных которых больше нет

Deezy
26.04.2019
11:02:31
listOfNums = list(set(listOfNums))
все, понял твою мысль) спасибо, пропробую

Иван
26.04.2019
11:06:03
Иван
26.04.2019
11:08:38
так вот как определить что это конец запроса? должны ж быть решения
Парсить http заголовки, потом тело. Открываем RFC по HTTP и читаем, что является признаком конца сообщения. Т.к. там может прилететь multipart, chunked и еще кучу всего интересного

Google
Иван
26.04.2019
11:09:14
В смысле у HTTP нету символа который обозначает конец сообщения.

Vorug
26.04.2019
11:09:43
В смысле у HTTP нету символа который обозначает конец сообщения.
выходит нет и универсального решения, потому как там может быть всё что угодно от хтмл до json

Иван
26.04.2019
11:10:08
Да, будь бы SMTP, там четко прописано, что является признаком окончания сообщения

Можешь открыть исходники aiohttp и посмотреть, как это там разруливается или httplib (тут попроще, все-таки не асинхронный код). Но парсить http - то еще удовольствие

Ты хочешь написать http client свой?

выходит нет и универсального решения, потому как там может быть всё что угодно от хтмл до json
А еще может прилететь base64, бинарщина и одному богу известно, что еще...

Ugly
26.04.2019
11:12:35
я так парсил как то ссылки, читая заголовки. и наткнулся на один сайт с онлайн радио

долго тупил - почему нету таймаута)))

а у меня питон музыку "слушал"

Иван
26.04.2019
11:13:37
И не всегда это будет сопровождаться заголовком Content-Length, а потом у где-нибудь произодёт вообще integer overflow и вообще там отрицательное число прилетит

Vorug
26.04.2019
11:13:40
Ты хочешь написать http client свой?
да мне нужен обычный парсер, но особенность сервера такая что надо килять соединения если ответ не вернулся по таймауту, а стандартные либы такого не позволяют, вот приходится разбираться с сокетами потому как там вроде такое можно

Иван
26.04.2019
11:13:52
?

В смысле не позволяет?

https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen - вот 3 параметр timeout

Ugly
26.04.2019
11:15:49
https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen - вот 3 параметр timeout
так я привел пример, как ты там определишь таймаут? а прерывать надо

данные то есть на вход

Vorug
26.04.2019
11:16:06
В смысле не позволяет?
я сегодня уже в 9:09 описывал проблему, там есть нюанс

Vorug
26.04.2019
11:16:44
Хочешь более тонкой настройки, возьми pycurl, там можно каждый отдельный timeout задать, на resolve, на connect и т.д.
да я не программист, это у меня хобби такое, поэтому ищу решения попроще =)

Ugly
26.04.2019
11:17:03
вот, то есть можно принудительно даже при потоке данных рвать коннект? спасибо

Google
Иван
26.04.2019
11:17:03
Кинь ссылку на сообщение твоё с проблемой

Vorug
26.04.2019
11:17:34
Можно рвать коннект вообще в любое время.
ты его рвёшь в питоне, но по факту соединение продолжает висеть пока не дождётся ответа хотя скрипт уже давно может быть завершился

Иван
26.04.2019
11:19:04
https://t.me/ru_python/883894
requests.session().close() ?

Arsen
26.04.2019
11:19:04
а есть какие-нибудь крупные тг каналы, где фронтендщики сидят?

Vorug
26.04.2019
11:19:34
requests.session().close() ?
неа, я всё уже перепробовал, и urllib2, пишут что только через сокеты реализуемо

Иван
26.04.2019
11:19:54
Что? Как оно может висеть, если процесс умер и ОС гарантирует, что закроет все файлы.

Оно на сервере весит?

Это значит, что сервер не понимает, что с ним порвали соединения, у ОС есть настройка, что в случае определенно времени нету активности на сокете - она его закрывает

Vorug
26.04.2019
11:20:47
Что? Как оно может висеть, если процесс умер и ОС гарантирует, что закроет все файлы.
да, вот такая штука, висит и ждёт в снифере, и когда их скапливается прилично сервер начинает меня футболить, поэтому надо делать socket.shutdown

Иван
26.04.2019
11:21:13
s.config['keep_alive'] = False - делай так

Один запрос - одно соединение

Vorug
26.04.2019
11:21:25
Это значит, что сервер не понимает, что с ним порвали соединения, у ОС есть настройка, что в случае определенно времени нету активности на сокете - она его закрывает
такая настройка может и есть, оно может и закрывает, но у меня сотни запросов в потоках, и на каждый секунд 5 не более надо

s.config['keep_alive'] = False - делай так
делал, не закрывает

Иван
26.04.2019
11:21:46
?

Так, а что за сервре?

Vorug
26.04.2019
11:22:00
s.config['keep_alive'] = False - делай так
точнее так не пашет, там s.keep_alive = False вроде уже

Иван
26.04.2019
11:22:23
Точно проблема не клиенте... Он может быть за каким-нибудь nginx спрятан?

Google
Vorug
26.04.2019
11:23:07
Иван
26.04.2019
11:23:53
Так а urllib?

Vorug
26.04.2019
11:24:00
Точно проблема не клиенте... Он может быть за каким-нибудь nginx спрятан?
https://stackoverflow.com/questions/5442291/close-urllib2-connection вот тут тип wjd пишет про это

Иван
26.04.2019
11:25:09
Так, давай так, netstat с requests что говорит?

Он показывает эти соединения?

Или давай в личку

Vorug
26.04.2019
11:25:34
Tishka17
26.04.2019
11:50:15
Ребят вопрос по регуляркам. Я могу без lookahead запретить точки в конце, но разрешить в середине строки? Типа блабла.блабла катит, а блбабла... - нет.

Мне не для матча, а для поиска

?? Eugene
26.04.2019
11:52:25
наверное, можно что-то придумать

Ugly
26.04.2019
11:54:50
regex101.com не дает результата такой регуляркой

проверял на "sdfg.fsdgdsfgdsgdfs.." - Your regular expression does not match the subject string.

?? Eugene
26.04.2019
11:55:18
r"(?i)[a-z\.]+[^\.]$"

Tishka17
26.04.2019
11:56:48
Так мне для поиска подстроки

Под концом имел ввиду конец подстроки, а не оригинальной

Tigran
26.04.2019
11:57:31
Ну можно модифицировать оригинальную регулярку, чтобы в конце была не точка

?? Eugene
26.04.2019
11:57:48
А что у тебя есть?

Tishka17
26.04.2019
11:57:55
Хотя вроде да, можно просто .+[^.]

Google
Tishka17
26.04.2019
11:58:12
Чёт туплю

kapehh
26.04.2019
12:01:54
Народ, подскажите с чего начать изучать питон если человек слабо знаком с миром программирования



Tishka17
26.04.2019
12:02:32
Попробуй stepik.org

kapehh
26.04.2019
12:02:37
Sergey
26.04.2019
12:03:09
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

kapehh
26.04.2019
12:03:13
Попробуй stepik.org
Гляну что там есть, ок, может быть что-то полезное по питону будет.

Страница 8843 из 9768