python协程实现一万并发_求你别再花大价钱学 Python 之协程高并发爬虫

继上次 《求你别再花大价钱学 Python 之爬虫实战》发布后,有一些网友提到单个爬虫效率有限,无法大规模应用的问题。这里本人再实战一个实用性较高的高并发爬虫,充分运用了协程的优势,即使在单机的情况下也可以高并发实现比较高效率的爬取。

本 Chat 以代码实战为主,讲到的理论都是简单介绍原理,最终附上完整的代码,已验证过可以长期运行。代码简洁,依赖简单,部署方便,容易扩展为其他用途的爬虫。

爬虫知识回顾

爬虫是指在网上漫游或者定向抓取信息的程序。按照爬虫的目的,可以大致分为通用爬虫和垂直爬虫。通用爬虫即是我们熟知的 Google/某 Du 等,他们对网上的一切信息都感兴趣,做的是全网信息聚合索引的工作;垂直爬虫是指只对某个领域的信息感兴趣的爬虫,例如医学类、生物类 Web 感兴趣,甚至是针对某个 App 某个公众号的爬虫。

我们这里尝试介绍一个定向于教育网爬虫作为例子。

主要回顾爬虫的相关基础知识

1. 爬虫语言

这是一个旧文,讲了应对各种情况下的爬虫方案,不再重复介绍。

总的来说,需要想办法尽量去模仿人使用浏览器去放问相关资源,以躲过对方服务器的反爬策略。

2. 内容存储

一个采集量大的爬虫,24 小时不间断运作,爬回来的文件对存储消耗是非常大的,需要安排一些低成本的存储空间去做数据的存储管理。另外,还要注意对内容进行压缩处理,爬虫爬回来的很大部分是 HTML 信息,这种文本信息的压缩率可以渠道 8:1~20:1 之间。

3. 内容索引

爬回来的内容是需要经过索引才可以使用的,索引方面推荐关注 Elasticsearch,功能强大支持分布式多节点部署,且配置起来的复杂度低,对于入门及其友好。

4. NLP

内容爬回来之后,最难的不是存储的索引,其实是对内容的处理和加工。从简单的文章内容的摘要、文章内容的原创度分析、文章行业领域归类、文章语意的分析和理解。其中涉及了太多自然语言处理的内容了,博大精深,这里无法展开详细介绍。可以参考 https://github.com/yandexdataschool/nlp_course,好多星。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值