Мне нужно собрать много (действительно много) данных для статистики, вся необходимая информация находится в <script type="application/ld+json"></script>
, и я написал под ней анализатор scrapy (скрипт внутри html), но анализ очень медленный (около 3 страниц)в секунду).Есть ли способ ускорить процесс?В идеале я хотел бы видеть 10+ страниц в секунду
spider.py:
import scrapy
import json
class Spider(scrapy.Spider):
name = 'scrap'
start_urls = [
about 10000 urls
]
def parse(self, response):
data = json.loads(response.css('script[type="application/ld+json"]::text').extract_first())
name = data['name']
image = data['image']
path = response.css('span[itemprop="name"]::text').extract()
yield {
'name': name,
'image': image,
'path': path
}
return
settings.py:
USER_AGENT = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0"
ROBOTSTXT_OBEY = False
CONCURRENT_REQUESTS = 32
DOWNLOAD_DELAY = 0.33
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
}
EXTENSIONS = {
'scrapy.extensions.telnet.TelnetConsole': None,
}
AUTOTHROTTLE_DEBUG = False
LOG_ENABLED = False
Характеристики моего ПК:
16 ГБ ОЗУ, i5 2400, ssd, 1 ГБ Ethernet
Отредактировано