У меня есть проект для очистки данных с class-central.com. Если вы откроете этот веб-сайт и нажмете на любой из предметов (например, по информатике), вы получите список курсов. Внизу страницы есть следующая кнопка, которая отображает больше курсов, и это продолжается до тех пор, пока не будут отображены все курсы. Я хочу очистить все курсы.
import scrapy
from ..items import ClasscentralItem
class ClassCentral(scrapy.Spider):
name = 'spidy'
start_urls = [
'https://www.classcentral.com/subject/cs'
]
def parse(self, response):
items = ClasscentralItem()
all_tr = response.css('#course-listing-tbody tr[itemscope]')
courses = response.css('.number-of-courses .text--bold::text')
for x in all_tr:
sub = response.css('.medium-up-head-1::text').extract()
course_name = x.css('.course-name .text--bold::text').get()
course_devloper = x.css('.uni-name::text').extract()
via = x.css('.text--italic::text').get()
duration = x.css('.icon-clock-charcoal::text').extract()
start_date = x.css('.medium-only-hidden::text').get()
rating = x.css('td:nth-child(4)').attrib['data-timestamp']
number_review = x.css('td#span#a::text').get()
items['subjectname'] = sub
items['course_name'] = course_name
items['course_devloper'] = course_devloper
items['via'] = via
items['duration'] = duration
items['start_date'] = start_date
items['rating'] = rating
items['number_review'] = number_review
yield items
Я борюсь с очисткой курсов, которые отображаются после нажатия кнопки «Далее». Кроме того, я не могувычистить «Количество оборотов» на каждом курсе . Вот мой код,
Пожалуйста, помогите.
(PS: я новичок, поэтому, пожалуйста, постарайтесь сделать ваш ответ максимально простым)