scrapy爬取极客学院全部课程

 1 # -*- coding: utf-8 -*-
 2 # scrapy爬取极客学院全部课程
 3 import scrapy
 4 from pyquery import PyQuery as pq
 5 from jike.items import JikeItem
 6 
 7 class JikespiderSpider(scrapy.Spider):
 8     name = "jikespider"
 9     allowed_domains = ["www.jikexueyuan.com"]
10     base_url = 'http://www.jikexueyuan.com/course/?pageNum='
11 
12     def start_requests(self):
13         for page_num in range(1,96):
14             url = self.base_url + str(page_num)
15             yield scrapy.Request(url, callback=self.parse_index)
16 
17     def parse_index(self, response):
18         doc = pq(response.text)
19         lis = doc('.lesson-list .cf li').items()
20         # pyquery心得, 以为pyquery有点问题而导致无法遍历数据结构,
21         # 研究发现是'http:' + item('.lessonimg-box a').attr('href')
22         # 的问题, href是相对路径没有得到一个有效的请求链接
23         for item in lis:
24             detail_url = 'http:' + item('.lessonimg-box a').attr('href')
25             yield scrapy.Request(url=detail_url,callback=self.parse_detail)
26 
27     def parse_detail(self, response):
28         item = JikeItem()
29         doc = pq(response.text)
30         item['title'] = doc('.lesson-teacher .bc-box h2').text()
31         item['time'] = doc('.lesson-teacher .bc-box .timebox').text()
32         item['content'] = doc('.lesson-teacher .infor-content').text()
33 
34         yield item

 

转载于:https://www.cnblogs.com/themost/p/7077422.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值