小编给大家分享一下python爬虫中如何选scrapy框架,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的锦江网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!建议还是先使用scrapy快速上手写几个爬虫出来,再学习使用requests+bs4自己写爬虫。
原因如下:
1、学习一个新东西,首先是先用起来,然后在使用中发现问题,再究其原理,才能深入学习;
2、scrapy不管是否支持python3,如果想学习爬虫原理,都无碍的,因为学习思想最重要;
3、scrapy封装了爬虫的一些核心组件,而且上手简单,如果想以后自己写爬虫框架,它的实现思路还是很值得借鉴的;
等用scrapy写出几个爬虫抓几个网站后,这基本算是入门了。
要抓的网站非常多时,就会遇到几个问题:
1、一些网站开始防抓,IP被封?
随机User-Agent,随机代理,开始用到scrapy的插件。
2、网页太多,抓的太慢,scrapy默认是不支持分布式的,怎么实现分布式?
一些分布式的插件就会用起来,例如scrapy-redis。
3、网页越来越多,会不会抓重复?
哦,原来不会重复抓。看一看scrapy源码,基于url指纹过滤重复的。啊,过滤规则自己可以替换,不错!
4、网站如何深度抓取,如何广度抓取?
看一看scrapy源码,哦,原来通过实现了栈和队列改变任务的入队顺序,结合配置来控制。
如果你有足够的兴趣和耐心,有没有发现,从开始使用它,慢慢地你开始关注scrapy的是如何实现了,继续深入源码,你就会发现它的实现思想很巧妙,代码结构低耦合,插件威力巨大!