我的蜘蛛用於抓取MITOPENCOURSEWARE網站的教學大綱不起作用。有人請幫我弄清楚它有什麼問題嗎? 。*的要求是要參加所有課程。這是正確的嗎?使用Scrapy掃描MITOPENCOURSEWARE網站的教學大綱
1 from scrapy.contrib.spiders import CrawlSpider, Rule
2 from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
3 from scrapy.selector import HtmlXPathSelector
4 from opensyllabi.items import OpensyllabiItem
5
6 class MITSpider(CrawlSpider):
7 name = 'mit'
8 allowed_domains = ['ocw.mit.edu']
9 start_urls = ['http://ocw.mit.edu/courses']
10 rules = [Rule(SgmlLinkExtractor(allow=['/.*/.*/syllabus']), 'parse_syllabus')]
11
12 def parse_syllabus(self, response):
13 x = HtmlXPathSelector(response)
14
15 syllabus = OpensyllabiItem()
16 syllabus['url'] = response.url
17 syllabus['body'] = x.select("//div[@id='course_inner_section']").extract()
18 return syllabus
你怎麼知道它不工作,即發生了什麼?而且,要小心''*',謹慎使用。試試''/ [^ /] +/[^ /] +/syllabus''。 – 2013-03-04 04:22:23
它爬取0頁。即使我按你的方式去做。 – user2130389 2013-03-04 04:47:53
您的啓動網址上是否有「教學大綱」?顯示我的鏈接。 – 2013-03-04 05:19:29