python scrapy开源项目学习

定制网络蜘蛛,现成的用Python写的开源项目scrapy,下载源代码,在Linux系统安装。然后就可以用了。

这个项目的架构不是怎么复杂,但作为Python的初学者,看到这个项目的这么多代码,彻底晕了。俗话说,万事开头难,确实,开始不知如何下手,如何定制符合自己需求的蜘蛛。只知道建立一个工程,但工程的各个模块的作用是什么,如何把这些模块组成一个整体,让它真正的发挥作用。

这些都是碰到的问题,好吧,找百度或Google,不过最好找Google,百度此时一点都给力。找啊找,零零星星找到一些东西,看了之后还是觉得一头雾水。仍然不能把各个模块有机地联系起来。

好吧,此时最笨的方法是去瞧瞧源代码,追踪程序的运行流程。搞了一天,彻底晕了,因为对Python语言不熟悉,加上这个项目的架构是事件驱动,还是蛮复杂的。就像以前看的那本MFC教程《深入浅出MFC》,那个架构,绕来绕去,勾来勾去。想起来的不免有些退缩。

期望从源代码理出架构,有机的整体,可以是可以,但得花时间。首先,我目的是用这个项目,暂时还不想了解这个项目是如何实现的。知道用就ok了。


我发现我暴殄天物,好好的使用文档不看,就去看源代码,岂不是舍近求?常常有个习惯,就是认为,与源码打包一起的这个文档没什么用处。因而对它常常不懈一顾,优先Google。但我发现我错了,彻底错了,我应该把Google放到一边,好好看这个项目的文档,因为,Google得到的东西大多出自项目的文档。这些文档一般都是英文写的,所以,最好学学英文,幸好,以前的英文学得还行,足以看懂文档。


最后,不管使用什么开源项目,第一个首先看文档。文档才是王道。。。。。。。。。。。。。


2013-5-17 23:26

递归抓取网站,抓取过的url写到数据库中。数据库用的是sqlite3,简单方便,随手可得。不用的时候出现这个问题:

sqlite3.OperationalError: database is locked

插入了几条数据,后面就频频出现数据库被锁的问题,Google了好久,终于找到答案了。原来,每次insert操作后就commit,不然到下次insert操作,可能会碰到前次insert时资源未释放的问题,再insert就报locked了

参考网站:http://stackoverflow.com/questions/1201522/cannot-insert-data-into-an-sqlite3-database-using-python?rq=1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值