Думаю, что нашла решение с получением нужной html страницы. Ранее скарпи получал пустую html.
Т.е. сейчас перед тем как собирать данные со страницы скрапи подождёт 5 секунд (за это время JS код успеет запросить нужный html) и нужная информация соберётся.
Хепните как быть с вставкой таймера плиз.
# -*- coding: utf-8 -*-
import scrapy
from threading import Timer
class ExampleSpider(scrapy.Spider):
name = 'bc'
start_urls = [
'https://www.greatcircus.ru/',
]
def parse(self, response):
for ticket in response.css('.col-xs-12 schedule-main-tickets-container'):
event_name = ticket.css('.schedule-main-tickets-show-title::text').extract(),
place = ticket.css('.schedule-main-tickets-location::text').extract(),
url = ticket.css('.text-center a::text').extract(),
yield {
'event_name': event_name,
'place': place,
'url': url,
}
t = Timer(5.0, parse)
t.start()
Сейчас выходит ошибка:
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\programs for work\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\programs for work\lib\threading.py", line 1166, in run
self.function(*self.args, **self.kwargs)
TypeError: parse() missing 2 required positional arguments: 'self' and 'response'