
Alexander "PekopT"
26.09.2016
13:17:43
/offtop

Батя
26.09.2016
13:18:26
Чат по веб-разработке: https://telegram.me/web_structure

Alex
26.09.2016
13:18:53
Я вообще в ближайшее время думаю переписать всё на сокеты. Нахуй урллиб, слишком медленно. А уж библеотеки типа grab так точно нахуй.

Bro
26.09.2016
13:22:09

Google

Bro
26.09.2016
13:22:31
модели там кстати были одно время их выкинули т.к. они не нужны оказались.
Item просто подмножество dict
pipelines в скапи они реально “pipelines” или просто стэк вызовов функций? вроде как я сурсы смотреть там просто вызов функций последовательно.
https://github.com/scrapy/scrapy/blob/master/scrapy/item.py
"модели"

Alex
26.09.2016
13:29:30
Так и не нашел скрипт с тестами граба и урл либа.
Суть в том что граб(pycurl)/скрапи/урллиб забирают страничку раз в 10 медленнее сокетов.
Довольно очевидно, но на практике - сайт с 15к страницами парсируется за час, а не за день.

Bro
26.09.2016
13:31:34
15к страниц за день?

Alex
26.09.2016
13:32:19
Сейчас у меня примерно так.

Bro
26.09.2016
13:33:31
у меня почти миллион старниц за несколько часов парсится. на медиумном инстансе на амазоне.

Alex
26.09.2016
13:33:45
Хотя можно быстрее, если потоков подкрутить, но чот память забивается.

Bro
26.09.2016
13:33:46
включая логин

Alex
26.09.2016
13:33:59
С картинками?

Google

Bro
26.09.2016
13:34:27
картинки не нужны, можно было бы картинки тащить, разница была бы не сильно большая.

Alex
26.09.2016
13:35:09
Хм, чот я неправильно делаю. Какие прокси используешь?

Bro
26.09.2016
13:36:21
амозоновские elasticip
вообще разные использовал разницы особой нет - fineproxy, proxymillion.

Alex
26.09.2016
13:37:07
А у мня из открытых источников парсируются, лел.

Anton
26.09.2016
13:37:17
тут наоборот, "python dives into sasha's ..."


conscience
26.09.2016
13:39:47
короче обертки какие-то которые типа что-то делают лучше. Items зачем они нужны? только путаницу создают, kmike кстати тоже думает что их убрать нужно. Middleware тебе зачем? в grab сам объект grab настраивается, сделай декоратор для методов если тебе везде что-то нужно проставлять.
ну, зависит от задач. в Item'ах можно предварительно обрабатывать какие-то данные (типа даты и пр.), согласен, это вряд ли можно назвать моделью, скорее обертка (которую юзает ItemLoader, например)
когда целью стоит выцепить с ресурса объекты нескольких типов, да еще когда какие-то параметры зависят от контекста, а селекторы меняются несколько раз в месяц, очень легко потеряться, scrapy как фреймворк дает тебе инструмент для описания ресурса.
плюсом ко всему, нужно было иметь несколько инстансов, которые разбирали бы очередь с заданиями и читали конфиги извне, когда это делал, в grab, вроде, даже еще не было адекватной очереди (или другая причина, щас уже не вспомню).
короче говоря, в scrapy было реализовано всё, что нужно было мне (либо имелись сторонние модули для него), короче, слишком много пришлось бы пилить над грабом


Bro
26.09.2016
13:45:24
а что тебе мешает в грабе сделать il = ItemLoader(data); il.save()?

Alex
26.09.2016
13:45:28
Только 800 тредов отнимают дохуя памяти, нахуй такое.

Bro
26.09.2016
13:46:25
800 тредов это очень много.
у меня 5 тредов стоит

Alex
26.09.2016
13:47:38
у меня ответ страницы - 2,9 секунды в среднем. У тебя сколько?

Bro
26.09.2016
13:48:17
меньше гораздо
ну я прокси не использую. мне не надо.

Alex
26.09.2016
13:49:03

conscience
26.09.2016
13:49:09

Bro
26.09.2016
13:49:15
> @tech_wizard
в грабе несколько бэкендов под очереди. in memory, redis, mongo и posgtres

conscience
26.09.2016
13:49:26

Bro
26.09.2016
13:49:35
да это уже несколько лет как

Google

Bro
26.09.2016
13:50:11
> Alex
Миллионы за несколько часов на 5 тредах? Бляетокак.
celery запускает группами. по 4 спайдера одновременно
у меня оптовые склады куда надо с логином еще клиентским заходить.
оптовые склады в марике.

Alex
26.09.2016
13:51:35
Асинхронно тип по урлам проходишь? Нихуя не понимат.
Впрочем похуй, мне-то скорость не особо важна.

IH
26.09.2016
13:55:26
всем привет) как лучше подружить Python с node.js? ситуевина такая - есть nfc, есть питоновский скрипт. При поднесении определенной карты нужно отправить сигнал в Node, чтобы он поменял страницу на соответствующую карте. Пока пытаюсь с помощью pythonshell, нифига не получается

Roman
26.09.2016
13:56:46

arisu
26.09.2016
14:06:22

IH
26.09.2016
14:06:41

arisu
26.09.2016
14:06:52
Да какой
Хочется

IH
26.09.2016
14:15:34
Спасибо, попробую)

IH
26.09.2016
14:34:26
Да какой
Ура, получилось. Для тех, кто прочитал, интересуется, но стесняется - проблема решается с помощью https://github.com/invisibleroads/socketIO-client и пары строчек кода

.
26.09.2016
14:48:53
Гайз, немного не по теме вопрос, но хз куда задать. При использвании кода со сдвигом, мы сдвигаем на 2^n-1 или на 2^(n-1) -1

Oleg
26.09.2016
14:54:56
/360

Roman
26.09.2016
14:55:12
/help
/uptime

Vitalik))
26.09.2016
15:02:51
/360

Rinat
26.09.2016
15:06:26
/uptime

zhag
26.09.2016
15:16:57
Привет всем.
Как найти последнее уникальное значение списка?

Google

Roman
26.09.2016
15:17:21

zhag
26.09.2016
15:17:50
Черт
Видимо не все так очевидно))
Ладно

Admin
ERROR: S client not available

zhag
26.09.2016
15:18:22
Есть лог авторизации юзеров на почтовом сервере
Я его спарсил до того момента что мне отображаются записи логинов юзеров
Мне нужно понять когда последний раз логинелся юзер

Никита
26.09.2016
15:19:17
Всем привет, есть вопрос, во что проще всего обернуть програмульку не большую, что бы закинуть ее на сервер?

zhag
26.09.2016
15:19:46

Ogoun
26.09.2016
15:20:22

Никита
26.09.2016
15:21:38

Dmitry
26.09.2016
15:21:59
sort забыл

Artem
26.09.2016
15:22:23
это просто не работает на самом деле

Ogoun
26.09.2016
15:22:45
Вообще в этом случае стоит читать построчно, и запоминать последнюю запись про логин, т.к. лог идет в хронологическом порядке.
Иначе при логах в несколько гигабайт можно память забить

Артем
26.09.2016
15:23:37
/uptime

Anton
26.09.2016
15:32:46

Артем
26.09.2016
15:35:19
/offtop

Costel Salanders
26.09.2016
15:47:29
/IQ_Test

Google

Costel Salanders
26.09.2016
15:47:30
Ваш IQ равен 150

H
26.09.2016
15:47:55
/IQ_Test
Ваш icq равен 152

Аво
26.09.2016
15:48:32
/IQ_Test

Evgen
26.09.2016
15:48:34
/IQ_Test

Ssi
26.09.2016
15:48:56
не прошли тест

Аво
26.09.2016
15:48:58
Ваш IQ равен 100500

Rocket
26.09.2016
15:49:07

Anton
26.09.2016
15:52:55
Там выше был вопросик про последний уникальный

⬗VLAD⌶K⬖
26.09.2016
15:53:34
мой icq 9372245?

Anton
26.09.2016
15:53:38
А что, если
filter(lambda x: list.count(x)==1, list)[-1]
Вроде красиво, но хз че по быстродействию
/offtop