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的结合,配合多台主机搭建分布式爬虫开发环境,如果爬虫进阶开发分布式爬虫是非常必要的。

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

  • 全网爬虫
    搜索引擎

最后

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


  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值