最近色老师的项目想要其他学校的课程信息,于是让我去爬取别人的数据。
自己学习了一下scarpy,上手进行了简单的爬虫。
scrapy框架爬虫入门与培养方案抓取实践
现场爬一下蛤交的课程信息
https://github.com/YdreamW/sjtuSpider.git
scrapy文件结构
- sjtuSpider
- spiders
- stju.py
- getMajorUrl.py
- items.py
- pipelines.py
- spiders
创建项目的过程
安装框架
创建项目
- 新建项目。
项目名可以用 …Spider
1
scrapy startproject <项目名>
- 新建一个爬虫。
爬虫名不能和项目名称一致
1
scrapy genspider <爬虫名> <域名限制>
- 新建项目。
写一个爬虫
在此之前需要了解一下 xpath的简单语法
推荐一个插件 xpath helper
getMajorUrl.py 的例子
分析网站
- 在chrome里找网页的逻辑
- network 看请求
- 可以先用 postman 模拟请求
愉快的写代码,然后输出结果
运行的爬虫的指令
1 | scrapy crawl sjtu -o course1.json -s FEED_EXPORT_ENCODING=UTF-8 |
反思
了解了xpath,这个东西很简单就能入门,但是感觉要想熟练的分析页面还是需要一定的经验积累
最近学业压力比较重,爬虫只局限于了实践层面。
对于python的generator并没有理解的很透彻,以及python的面向对象都是一知半解,以后有机会好好搞清楚generator
我印象中 es6 也有generator