爬取课件资源的爬虫

闲来无事,爬一爬现在学生的课件ppt资源,做一做数据分析,看看孩子们都在学一些什么。

一、开始分析下载的流程:

1、一级页面

网址为:www.1ppt.com/kejian

2、二级页面

http://www.1ppt.com/kejian/5769.html

根据标题来看,这个还是一个汇总,要下载详细的ppt内容还要往下看。

往下翻看到了正主,这个就是我们所需要的ppt课件

3、三级页面

进入了单节课程的页面,往下翻可以看到下载地址。

二、开始考虑爬虫的编写:

  1. 我使用的是scrapy框架。
  2. 由于首先进入的是首页,所以我使用的是crawl spider编写rule规则来获取各个出版社资源的子页面url。
  3. 进入二级页面之后,还要获取所有课程的名称和三级页面url。
  4. 进入三级页面,获取到ppt下载链接。
  5. 改写为scrapy-redis爬虫。

开始编写爬虫:

1、创建爬虫项目:

# 打开anaconda prompt 切换环境,输入
scrapy startproject ppt
# 进入 ./ppt,输入
scrapy genspider -t crawl downloadppt 1ppt.com  # 创建crawl spider

2、导入爬虫项目,我用的是Sublime Text

        

3、开始一级页面

        

发现二级页面的a标签都在 class='ikejian_col_nav'的dd标签中,并且二级页面的url是/kejian/\d+.html的样式。

基于分析开始写规则:

rules = (
        Rule(LinkExtractor(allow=r'.+/\d+\.html', restrict_xpaths='//dd[@class="ikejian_col_nav"]'), callback='parse_detail', follow=False),
    )
# restrict_xpaths:捕获该标签下的所有/\d+.html的url并发送请求

4、分析二级页面

首先获得二级页面的标题

其次获得下面三级页面的url和标题&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值