框架本身的好处:
步骤划分清晰,每步只要把每步的代码写好、调试好,能降低爬虫任务的复杂度和繁琐度。
可以有效利用中间结果分别调试其中的任何一个步骤,不用回溯整条任务链。
框架不足之处:
1、证书问题
2、登录问题
爬的多的时候如何对抗反爬虫机制,例如淘女郎爬虫任务,爬多了会提示重新登录,明明谷歌浏览器已经登录状态,但是爬虫任务却不能直接使用浏览器的缓存数据,差评。
3、代码编辑效率较低
直接在web页面上编辑代码,容易出错,大有一种在记事本里写代码的蹩脚感和无力感,代码编写效率太低,急死个人。
思考:
如果在Windows端下编写一个爬虫框架应该如何设计?
1、依然是划分步骤:开始,第一步,第二步,第三步……,结束,中间的步骤使用者可定制添加,可编辑步骤名称。
任何步骤产生新的URL都可以插入到其他步骤中,不要支持网状爬取,例如社区型的网站通常会有关注者和粉丝,每个都要爬取会形成递归,不适合Windows上小型轻便的定位。【解析步骤】中的url可选择保存到数据库,如果这次中断下次爬取的时候可以对处理过的网址不再爬取。
2、每一步骤所需的python脚本在任务目录下存放,本地管理,可以直接用pycharm编写(无需手动保存)每次运行即时生效。
3、各个步骤的中间结果缓存,且各个步骤的调试数据可以利用缓存数据,也可以手动编辑该数据便于快速调试。
4、每一步骤的运行状态要设定。
5、上面均是使用方便,在引擎层需要考虑:多任务,队列,去重等。
6、因为是Windows端,因此比较适合个人用户爬取些小型任务,不适合并发分布等,定位:小轻便。