【发布时间】:2019-10-13 07:37:39
【问题描述】:
所以,我有一个从 class-central.com 抓取数据的项目。我使用选择器小工具来获取几个字段的 .css 标签,但是当我运行我的程序时,我得到的只是一个空字段。我无法识别我的代码中的错误,所以请帮忙! (PS:我是scrapy的新手,这是我的第一个项目。所以请确保您的回答对于像我这样的人来说是可以理解的)
打开以下链接查看字段:https://www.classcentral.com/subject/cs
我无法抓取以下字段:
- start_date:课程开始的日期。
- via:托管课程的网站(例如 Coursera)。
-
评分:此课程获得的星数和评论数。
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('.xlarge-up-width-9-16') 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').extract() course_devloper = x.css('.uni-name::text').extract() via = x.css('.hover-initiativelinks , #course-listing-tbody .text--italic::text').extract() duration = x.css('.icon-clock-charcoal::text').extract() start_date = x.css('#course-listing-tbody .medium-only-hidden::text').extract() rating =x.css('.review-rating::text').extract() 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 yield items
【问题讨论】:
-
请定义“我不能”。有什么错误吗?你如何运行抓取过程?
-
@rok 先生,我只是问为什么编译器没有显示任何错误时很少有字段是空白的。
标签: python-3.x web-scraping scrapy