介绍一下爬虫用的比较多的两个框架pyspider和scrapy
以下是剽窃某乎一答主的回答 自认为讲的比较好:
作者:trucy
链接:https://www.zhihu.com/question/37686665/answer/128811396
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Pyspiders是国内某大神开发了个WebUI的[Pyspider](GitHub - binux/pyspider: A Powerful Spider(Web Crawler) System in Python.),具有以下特性:1. python 脚本控制,可以用任何你喜欢的html解析包(内置 pyquery)2. WEB 界面编写调试脚本,起停脚本,监控执行状态,查看活动历史,获取结果产出3. 支持 MySQL, MongoDB, SQLite4. 支持抓取 JavaScript 的页面5. 组件可替换,支持单机/分布式部署,支持 Docker 部署6. 强大的调度控制从内容上讲,两者具有功能差不多,包括以上3,5,6。不同是Scrapy原生不支持js渲染,需要单独下载[scrapy-splash](GitHub - scrapy-plugins/scrapy-splash: Scrapy+Splash for JavaScript integration),而PyScrapy内置支持[scrapyjs](GitHub - scrapy-plugins/scrapy-splash: Scrapy+Splash for JavaScript integration);PySpider内置 pyquery选择器,Scrapy有XPath和CSS选择器,这两个大家可能更熟一点;此外,Scrapy全部命令行操作,Pyscrapy有较好的WebUI;还有,scrapy对千万级URL去重支持很好,采用布隆过滤来做,而Spider用的是数据库来去重?最后,PySpider更加容易调试,scrapy默认的debug模式信息量太大,warn模式信息量太少,由于异步框架出错后是不会停掉其他任务的,也就是出错了还会接着跑。。。从整体上来说,pyspider比scrapy简单,并且pyspider可以在线提供爬虫服务,也就是所说的SaaS,想要做个简单的爬虫推荐使用它,但自定义程度相对scrapy低,社区人数和文档都没有scrapy强,但scrapy要学习的相关知识也较多,故而完成一个爬虫的时间较长。
总的来说就是pyspider比较简单人性化,scrapy偏专业化适合大项目
接下就讲下安装pyspider
官方说没有在win平台上做兼容性测试,所以建议用linux环境,我自己是用虚拟机搭建了ubantu16(自带python2.7)
在shell中
pip install pyspider
最简单全程会把pyspider所以组件安装
当然安装是不会那么一帆风顺的特别是对于刚接触linux的人来说。要学会善用baidu,csdn。把报错信息百度一般都会有解决的。(我遇到一个gcc编译器的啥问题百度解决了)
安装成功后
pyspider all
这样就成功启动了,然后在浏览器0.0.0.0:5000就可以看到界面
然后可以看官方的UI介绍
关于怎么入门完全可以看官方的文档和官方案例
python爬虫进阶—pyspider框架——2 文章讲三个函数(on_strat,index_page,detail_page)的用法