频道栏目
首页 > 程序开发 > Web开发 > Python > 正文
Python+MongoDB 爬虫实战
2013-03-04 16:39:33           
收藏   我要投稿
工具准备及爬虫搭建

 

Scrapy(python写成的爬虫框架)

在前一篇 Scrapy爬虫入门 里有写到Scrapy的安装和基本使用,他的特点是每个不同的page都自己定制一个不同的Spider,通过

[java] 

scrapy crawl spidername -o file -t json  

 

的方法运行爬虫程序并且以json形式保存到目标文件里(当然后面 -o -t 两项可以省略)。而且python代码很少,实现很方便。简单看下python的语法就可以轻松上手。

顺便以Java开发者和python小白用户的角度阐述下我对python语法的总结:

句末不带分号

if,while,for不带大括号

变量不用声明,比js声明还简单

三个主要数据结果:字典,列表,元组

没有好的IDE,全靠自己声明:包的导入要自己声明,异常要自己声明

代码短小,给我很强烈的空虚感

MongoDB(带上pymongo和mongo-java-driver)

很早以前就想实践下MongoDB,早早的看过《MongoDB权威指南》,却一直没有机会实战,亏得毕设可以让我有了需求驱动。因为MongoDB以BSON的形式存储对象,所以我觉得蛮适合存储Scrapy的json爬取结果,由pymongo进行交互。爬取到的数据后期会交由solr搭建搜索服务,所以也装上了java的driver看看读取结果。

java-driver的简单操作

pymongo的简单操作

 

数据尝试

以CSDN博客里的数据练手,爬取CSDN各博客内的博文内容数据。先爬取热门文章页面上的一些博主名字和url:

[html] 

{  

    'username' : 'xxx',  

    'url' : 'https://blog.csdn.net/xxx/article/list/n'  

}  

然后爬取该博主所有的文章url链接,再爬取每份url链接里的内容,存到MongoDB里:

[html]  

    'user' : 'xxx',  

    'title' : 'xxxxx',  

    'tag' : ['xx', 'xx', 'xx'],  

    'content' : 'xxxxxxxxxxxxxxxxxxxxxxxx'   

}  

 

总结

有一些技术是由需求驱动才去尝试学习;有一些问题只要具备一定的执行力就能发现。

MongoDB读取性能如何?他的自动分片怎么得以体现?自带的js版mapreduce如何利用?

如何将Scrapy做成一种服务?python语言的各种实践?

今后的数据会设计论文,个人主页,这里的CSDN博客数据只是整条道路的铺垫。不过对整个学习和探索过程我还是充满期待,哈哈。

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 爬虫 实战
上一篇:python 系统学习笔记(一)
下一篇:模拟新浪微博登录(Python+RSA加密算法)
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站