Я не могу понять, почему мой scrapy
паук потребляет так много памяти.
Я использую splash
с scrapy
, но top
показывает, что это python3
, который потребляет 60% или больше памяти, так что я полагаю, что это не splash
, а сама скрапа.
Я недавно добавил splash.images_enabled = false
в lua
скрипт, но это не имеет смысла увеличивать потребление памяти.
Поэтому я пытаюсь отладить его, используя telnet
.


Как видите, в ОЗУ практически ничего нет.
Знаете ли вы, где может быть проблема?
2019-03-29 22:01:55 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'scrapy_spider', 'CONCURRENT_REQUESTS': 6, 'CONCURRENT_REQUESTS_PER_DOMAIN': 3, 'CONCURRENT_REQUESTS_PER_IP': 3, 'COOKIES_ENABLED': False, 'DUPEFILTER_CLASS': 'scrapy_splash.SplashAwareDupeFilter', 'LOG_FILE': '/home/fs/sd/logs/scrapy.log', 'LOG_LEVEL': 'INFO', 'NEWSPIDER_MODULE': 'scrapy_spider.spiders', 'SPIDER_MODULES': ['scrapy_spider.spiders']}
class AutoScrapeSpider(scrapy.Spider):
name = 'autoscrape_spider'
wait = """
function main(splash, args)
splash.images_enabled = false
splash:set_user_agent(args.ua)
assert(splash:go(splash.args.url))
local i=0
local maxwait=20
while not splash:select("#odds-data-table .table-container") do
if i==maxwait then
break --times out at maxwait secs
end
i=i+1
splash:wait(1) --each loop has duration 1sec
end
return {
html = splash:html(),
}
end
"""