scrapy
scrapy 是一个爬虫的包吧,我理解爬虫是一种程序的行为、目的的统称,不是特指哪一种工具或者有语言的。前段时间我用过的 seleuim 的是模拟的虚拟点击其实也可以用来写爬虫的代码吧,我猜测应该是效率低,爬虫角度来说不够专业,只能操作一些配合浏览器点击等等的程序需求吧。
或者说scrapy也可以称为一种框架,因为它的使用方式不是仅仅import,包括了很多终端的命令行工具,比如我现在还记得的就有:scrapy startproject xxx 可以直接创建一个拥有基本结构的项目文件;scrapy genspider xxx url 可以把爬虫文件匹配到一个链接下(可能不是很准确)大概就是这个意思;scrapy crawl xxx 可以在终端运行爬虫文件。
目前我还没有理解、使用好这个框架,只是初步了解,觉得还是挺不错的。items里可以统一要爬取的内容,然后在爬虫文件里具体设计爬取的思路,pipeline文件可以设置爬取文件的保存或者说导出,setting文件涉及例如数据库的配置等等。总的来说理解之后,常规的爬取需求其实只要在这个框架上生出一些特别的枝叶就可以了,树干是可以不动的,这让框架变得清楚,代码也变得更简明。
肯定不是所有东西都要去了解清楚底层的,能够学得开心用得开心就可以了。
mongoDB
这个的东西的配置今天费了我好大功夫,到头来发现其实非常简单。必须要说明安装这种需要配合终端操作的软件,首推有brew,可以理解为终端应用商店一样的存在,三四行就解决的事情,安装官网安装包的话事情会变得非常多,还会碰到各种文件权限的问题。唯一可以记得一下的一件事就是mac的环境变量路径是可以配置在一个叫做 .bash_profile的文件里的,这一点和win有点相同又有点不同。
然后mongoDB算是一个noSQL的数据框架吧,安装包之后需要先启动,然后可以在项目文件里配置上相应的端口,配合scrapy爬取到的数据文本可以更好有效地储存在数据库中,方便检索、管理等等,在爬取的量级大了一点之后应该是必要的。同时noSQL的形式是比结构化数据更适用于爬虫结果的储存需求,否则设计结构、设计属性也很麻烦。
今天的情况是目前两块内容分别都配置测试成功了,但是结合起来的教程还没有跑成功,明天有空再继续吧。明天有空要再看一下核心课的教材。
说到这个,今天给宋丹丹老师发了说明情况的讯息,她就说收到了也没有别的回复,不知道这是理解还是不理解的意思。不过不再想了,有时候其实我想我的情商不高,因为比起理解他人、让他人舒服,大多数时候我总是不自觉地不在乎起来,好处是心里变得清静。