之前有一篇写了用爬虫爬取新闻网站的新闻数据,写了一个查看新闻的脚本,而并没有把网站上的新闻数据给存储到本地。于是便打算用python把爬到的数据存储到数据库中。
世界是充满欢乐的。我们会遇到很多新的东西,也会忘掉很多现有的东西。旧的不去,新的不来。可是有些时候有些东西我们不想忘掉,就需要有点东西把它们记录下来。脑子是不可能用的了,东西又多又大,脑子怎么装得下?像新闻网站这么多资讯,我要是用脑子全记下来了,我就不用在这里敲键盘了。。。
于是这个时候便可以使用数据库了,之前一直使用mysql而学过的mongodb没怎么用过,这一次是为了练习一下pymongo的使用,所以爬的部分就不展示了。爬的主要内容事先爬了下来存到了一个txt文件中,接下来只要从文件中取出数据,然后一波操作把它们存到mongodb中就行了。
首先启动mongo,我用的是windows系统,在cmd中切换到mongod.exe的安装目录,输入命令:mongod.exe --dbpath xxx\xxx(数据库的存放路径) ,即可启动mongo,然后再打开一个cmd,输入mongo就会自动连接mongodb的本机地址了。
部分的字段已经提前爬了下来
写一段代码提取这些字段:
然后便得把剩下的内容爬一下:新闻内容和热门评论:
热评提取,根据文章的id拼接成要请求的url然后发出ajax请求:
由于要对新闻详情页发出请求,有1万多个页面,一个一个访问的话太慢了,于是便使用线程池来进行多线程爬取,就启动50个线程吧,最后再把爬取得内容存到数据库中,就ok了。
爬完后一共用时1111s,大概18分钟。
使用可视化工具来查看数据库中的数据,
一共12711条数据,Emmm...
剩下的数据库部分的代码以及主函数的代码如下
下篇再见。
领取专属 10元无门槛券
私享最新 技术干货