不止不觉中,已经大学毕业上了研究生了,其实这一系列教程很早就想开始写,因为一堆事情加上拖到了如今。(原写于2017年9月18号)git
大概是大二下学期刚开学的时候,我开始接触了Web开发,那个时候跟着网上看视频,学习了HTTP Get与Post请求,了解了网站是怎么个工做的。我当时忽然联想到了平时都在用的课程格子,想着十分有趣,想着能不能用这种技术去作这样一款查课表的东西。github
因而乎,网上寻找资料,了解了登录的原理,以及如何获取到Cookie。当时,我最熟悉的语言是C#,从网上找了个解析HTML的dll,用着自带的HttpWebRequest就开始搞了。那时还不会用chrome,用的HttpWatch,也遇到了不少坑,不过也经过本身的努力把学校的课表搞下来了。mongodb
不过,我发现单纯搞个课表也并无什么卵用,因而我想到了当时正值学校抢课期间,我就作个抢课软件,那还不吊炸天。chrome
因而我用那个只能在IE上跑起来的HttpWatch抓到了JSON的数据,当时也不知道JSON是什么,只知道XML,还网上问了一下这是什么格式的数据,后来就知道这是传说中的JSON,又去恶补了一遍JSON的知识。而后又找了个C#的解析JSON的dll,在个人电脑上把抢课的软件跑起来了,下面就是当时的软件截图。数据库
就是经过这个本身编写的这个爬虫软件,我选上了当时的“英文记录片视听”这门课,不事后来据说这门课有点坑,我又给退了,o(╯□╰)o。缓存
自从那之后,我开始对爬虫产生了浓厚的兴趣,没事儿就爬点东西玩儿,下面是我搞过的几个和爬虫相关的小应用。微信
练习客户端开发,把我校的选课系统移植到了Android、iOS、Mac、Ubuntu、Windows客户端上,见github.com/nladuo/ustb…。微信开发
查询教务系统的成绩、学分、课表等,用来练习微信开发的。多线程
统计一下中国女性的胸围分布。scrapy
提醒本身别忘了还书。
学习scrapy时候写的。
拿DHT爬虫+Sphinx作的种子搜索引擎,后来数据太多了,网站已经关了,只有图了。
谈完了我和爬虫君的缘分后,便要开始进入正题了。在以后的几篇文章中,我将从基础的定向爬虫开始讲起,并结合多线程提升抓取速度,经过数据库来缓存数据。以后会聊一聊反反爬虫的技术,解决一些限制性的问题。由于爬虫最原始的功能实际上是构建搜索引擎,最后,将会使用ElasticSearch构建一个搜索的案例。
一、爬虫介绍
二、爬虫基础
三、数据存储
四、反反爬虫
五、案例——北科贴吧帖子搜索
相关代码都放在了:github.com/nladuo/USTB…