关键词:ubuntu系统、scrapy简单爬取任务
1. 明确目标:明确采集任务
任务:是爬取学院网站上教师列表以及教师详情
2. 规划步骤:分两步采集
借用一个items.py定义两个item类,再分别用Teacherlist、Teacher两个spider抓取教师信息
3. 项目准备:观察所要爬取页面的框架结构
图示中每个\<li>标签下包含教师列表信息,所以以其作为链接迭代入口。
详情页因为不涉及动态页面的抓取,所以只考虑页面层级问题,就是怎么从教师列表页进入详情页。
4. 项目实施:构建爬虫框架
- 建立爬虫框架
* scrapy startproject teacher
- 根据你的需求在items.py文件中定义元数据,这里直接定义两个模块。
(注意:两个类定义需要用空行隔开,当然注意使用同一种方式缩进)
- 编写Teacherlist的spider文件
(注:python时使用缩进来区分代码块,使用空行表示下一个类、函数等的开始)
- 编写Teacher的spider文件
(注:parse函数名不能更改,留意页面层级结构)
5. 项目调试:通过观察运行后代码分析修改代码
* scrapy crawl 爬虫名
这里尤其注意未定义,xpath书写,到底是item.xpath()还是response.xpath(),以及缩进(空格、tap混用,是否整齐),英文:(中英文输入)等错误
6. 数据保存:可选择json、xml、csv等格式保存
运行代码
* scrapy crawl 爬虫名 -o 文件名.格式
注意:文件夹权限
root用户该文件夹上级目录下使用命令
* sudo chmod 777 文件名