最近在公司实习,参与数据采集项目的工作。
接触了python大概2个月的时间。因为单位一直用python写脚本来爬网页数据存到公司的数据库,每次遇到一个网站或者爬取项目都要重写很麻烦,即使之前用过代码可以复制粘贴也要修改好多。因此想写一个爬虫框架。虽然网络上开源的爬虫很多,但是毕竟自己写的才能提高对语言以及web前后端的理解是吧。😀
那么首先基本的需求要理一下:
- 只需定义网页提取规则,而其他相关配置不需要重写(废话)
- 要能有一定的反爬能力,比如用代理以及request的headers里定义
- 现在很多网页是用js实时生成的,要能处理js动态加载的页面(这个目前可以勉强解决,但是性能不高,用的是selenium+phantomjs的解决方案,之后会考虑提高一下性能)
- 分布式处理,在多台机器上运行(正在研究,还没有实现)
……
大概写了2星期吧,断断续续的,我本人比较多心,总是写写项目就研究起别的了,比如Android开发😭
项目发到github上了,我的第一个项目,欢迎支持(为了吸引人气花了好大功夫设计README和doc),本来框架挺好用的,加上说明,很快上手,有问题欢迎提出!
附上截图一枚:
忘记放链接了,这里补下:https://github.com/MeteorKepler/espider
网友评论