Size: a a a

2020 November 15

EB

Elisei Badanin in Scrapy
Кто-то парсил кинопоиск, на сколько он разборчив к проксям?
источник

iz

iz zi in Scrapy
Elisei Badanin
Кто-то парсил кинопоиск, на сколько он разборчив к проксям?
ipv6 поддержкивает, куда лучше)
источник

EB

Elisei Badanin in Scrapy
iz zi
ipv6 поддержкивает, куда лучше)
а где их брать? как скрапи через них запустить?
источник

iz

iz zi in Scrapy
купить, так же как и любой проект с прокси🙂
источник

AL

Alexey Lemeshevski in Scrapy
Интересно - попробовал запустить scrapy на парсинг 3000 сайтов (использовал рекомендуемые настройки очереди из документации, со страницы про Broad Crawls) - робот уперся в ограничение ОС на макс. кол-во открытых файлов (ulimit -Sn показал 1024) ...сказал: builtins.OSError: [Errno 24] Too many open files

Ограничение я увеличил (удивившись, что оно у меня в системе такое маленькое стояло). Но ...что же, а если сайтов будет миллион, Scrapy будет держать все дескрипторы открытыми?
источник

S

SoHard 🎄 in Scrapy
Alexey Lemeshevski
Интересно - попробовал запустить scrapy на парсинг 3000 сайтов (использовал рекомендуемые настройки очереди из документации, со страницы про Broad Crawls) - робот уперся в ограничение ОС на макс. кол-во открытых файлов (ulimit -Sn показал 1024) ...сказал: builtins.OSError: [Errno 24] Too many open files

Ограничение я увеличил (удивившись, что оно у меня в системе такое маленькое стояло). Но ...что же, а если сайтов будет миллион, Scrapy будет держать все дескрипторы открытыми?
тут недавно давали хороший совет
источник

S

SoHard 🎄 in Scrapy
не парсить миллионы ссылок за один заход
источник

К

Кирилл in Scrapy
Alexey Lemeshevski
Интересно - попробовал запустить scrapy на парсинг 3000 сайтов (использовал рекомендуемые настройки очереди из документации, со страницы про Broad Crawls) - робот уперся в ограничение ОС на макс. кол-во открытых файлов (ulimit -Sn показал 1024) ...сказал: builtins.OSError: [Errno 24] Too many open files

Ограничение я увеличил (удивившись, что оно у меня в системе такое маленькое стояло). Но ...что же, а если сайтов будет миллион, Scrapy будет держать все дескрипторы открытыми?
Закрывать файлы
источник

V

Victor in Scrapy
SoHard 🎄
открой дебаггер и посмотри вставилось ли что-то, пошагово посмотри
Проверил пошагово, вставляет, грузится - и не принимает
источник

AL

Alexey Lemeshevski in Scrapy
Кирилл
Закрывать файлы
Я их и не открываю, открывает scrapy (queuelib) - так устроена работа с очередью с нем :)
источник

К

Кирилл in Scrapy
Alexey Lemeshevski
Я их и не открываю, открывает scrapy (queuelib) - так устроена работа с очередью с нем :)
Не используй эту либу) или форкай и переписывай
источник

AL

Alexey Lemeshevski in Scrapy
SoHard 🎄
не парсить миллионы ссылок за один заход
У меня задача - обходить много сайтов параллельно. Не миллионы, но десятки/сотни тысяч (не больше). Раз очередь scrapy так устроена, значит, или увеличить разрешенное кол-во одновременно открытых файлов (как я сделал) ...или использовать другую очередь, видимо:)
источник

AL

Alexey Lemeshevski in Scrapy
Кирилл
Не используй эту либу) или форкай и переписывай
Это я понимаю :))) думал, может есть еще какие-то варианты настроек "из коробки"))
источник

К

Кирилл in Scrapy
Я ей не пользовался, но скорее всего она не должна на 3000 сайтов открывать 1024 файла. Ты уверен, что сам их не открываешь?
источник

A

Andrii in Scrapy
Alexey Lemeshevski
Интересно - попробовал запустить scrapy на парсинг 3000 сайтов (использовал рекомендуемые настройки очереди из документации, со страницы про Broad Crawls) - робот уперся в ограничение ОС на макс. кол-во открытых файлов (ulimit -Sn показал 1024) ...сказал: builtins.OSError: [Errno 24] Too many open files

Ограничение я увеличил (удивившись, что оно у меня в системе такое маленькое стояло). Но ...что же, а если сайтов будет миллион, Scrapy будет держать все дескрипторы открытыми?
Скрапид для такого есть
источник
2020 November 16

AL

Alexey Lemeshevski in Scrapy
Кирилл
Я ей не пользовался, но скорее всего она не должна на 3000 сайтов открывать 1024 файла. Ты уверен, что сам их не открываешь?
Он их открывает, если очередь на диске хранить (scrapy crawl ... -s JOBDIR=/path/)
источник

AL

Alexey Lemeshevski in Scrapy
Еще странная штука - беру для эксперимента 3000 рабочих доменов 2го уровня, в настройках пишу:
CONCURRENT_REQUESTS = 50,
DOWNLOAD_DELAY = 100 (я хочу, например, чтобы второй запрос на этот сайт пришел только спустя 100 секунд),
CONCURRENT_REQUESTS_PER_DOMAIN = 1

И происходит следующее: scrapy примерно за 1-2 секунды берет первые 50 сайтов, делает запросы, получает ответы ... и замирает на 100 секунд)))

Что я не так делаю?)

Код в parse для теста самый простой (извлекает ссылки и возвращает (через yield) запросы).
источник

МС

Михаил Синегубов... in Scrapy
@AlexeyLemeshevski парсить 3000 доменов используя файловый кэш, да и вообще, хранение  любой информации в файлах - так себе идея.
источник

МС

Михаил Синегубов... in Scrapy
на такие объемы - только база. Даже, если работаешь одним пауком.
И, кстати, да - скорее всего, надо писать свои мидлвари/пайпы. Помнится, у меня кэш дико тормозил на большом количестве страниц. Такое ощущение, что он кэширует что то при старте.
источник

МС

Михаил Синегубов... in Scrapy
Alexey Lemeshevski
Еще странная штука - беру для эксперимента 3000 рабочих доменов 2го уровня, в настройках пишу:
CONCURRENT_REQUESTS = 50,
DOWNLOAD_DELAY = 100 (я хочу, например, чтобы второй запрос на этот сайт пришел только спустя 100 секунд),
CONCURRENT_REQUESTS_PER_DOMAIN = 1

И происходит следующее: scrapy примерно за 1-2 секунды берет первые 50 сайтов, делает запросы, получает ответы ... и замирает на 100 секунд)))

Что я не так делаю?)

Код в parse для теста самый простой (извлекает ссылки и возвращает (через yield) запросы).
переписать код.
могу ошибаться, но, вроде, делай глобально работает.
источник