Scrapy爬虫(十):爬虫总结以及扩展

Scrapy爬虫(十):爬虫总结以及扩展

 

 

爬虫总结

本专题介绍了scrapy的框架原理,并用了5个实例由浅入深的进行了演示。还讲到了scrapy的调试技巧,对于入门scrapy爬虫应该有一定的帮助。

对于爬虫开发者来说,无非就是分析url、由url下载数据、解析数据,存储数据并应用。

对url的分析主要是找规律,应为开发网站的开发者为了框架化或者说偷懒,一般同类型内容的url都有一定的规律,比如imdb.cn的网站,url的规律简直是太简单了,作为第一个爬虫去爬这种网站,是很容易入门的。

还有数据的存储,多个爬虫如何在一个pipeline中将item数据存储到多张表中,文章中也做了介绍,通常我们是将数据存储到数据库,我例子中使用的是mysql,也可以是其他的数据库,比如MongoDB什么的。

最后对于爬虫的调试我专门做了图例讲解,希望对感兴趣的朋友有些帮助,关于如何使用xpath、css、re我并没有过多的说明,因为这些都有现成的教程,可以自己对比选择使用,在合适的场景下使用合适的工具。

爬虫的一些扩展

pyspider是国人开发的爬虫框架,有比较友好的可视化环境,感兴趣的朋友可以尝试下。

  • 开发环境
    python scrapy的开发环境搭建还是比较费精力的,特别是对于python2+、3+的环境选择,通常会有一些坑,另外还要搭建数据库环境比如mysql、redis等等。

感兴趣的朋友可以尝试使用docker配置环境,对于项目组的话可以配置好环境打成镜像,然后移植到另外的docker中,这样可以保证环境的一致性以及开发效率。

  • 防止爬虫被ban

    1 构造合理的 HTTP 请求头 登录
    2 设置 cookie 的学问
    3 正常的时间访问路径 延时访问
    4 注意隐含输入字段值
    5 爬虫通常如何避开蜜罐
    6 使用可变的远程 IP 地址 代理的使用

  • 具体可参考

  • 分布式爬虫
    scrapy-redis
    scrapy和redis的结合,配合多台主机搭建分布式爬虫开发环境,如果爬虫进阶开发分布式爬虫是非常必要的。

  • 增量更新爬虫
    在分布式的基础上,实现监控网站动态实时增量更新爬取数据。

  • 全网爬虫
    搜索引擎

最后

有缘看到本文的朋友,若文中有谬误的话,还请您不吝赐教,谢谢。


posted @ 2020-10-27 14:32  爱你爱自己  阅读(225)  评论(0编辑  收藏  举报