实现一套爬虫数据抓取平台
文章平均质量分 74
Bottle
出来混,迟早是要还的
展开
-
【实现一套爬虫数据抓取平台】[0-0] 序篇
前言爬虫搞了一年多了,不说做的多好,但基本上坑趟了一大堆,准备写一套文章,把这一年经验和教训跟大家分享一下。废话少说,咱们正式开始。纲领本套文章会按照以下顺序来逐步来整理,感兴趣的同学可以自行查看对应的篇章。一、调度平台1.1、整体架构1.2、调度服务1.3、任务执行服务1.4、数据清洗服务1.5、监控服务1.6、报警服务二、爬虫相关2.1、爬虫实现2.2、Web 站点如何抓取2.3、App 如何抓取2.4、小程序如何抓取2.5、代理相关2.6、Cookie 相关2.7原创 2021-02-08 11:07:49 · 26732 阅读 · 2 评论 -
【实现一套爬虫数据抓取平台】[3-5-03] 微博长短地址转换
文章目录零、系列目录一、背景二、代码三、总结零、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转一、背景新浪微博有两类地址,分别是:# pc站地址https://weibo.com/2214257545/LgUW8DlCG# mob站地址https://m.weibo.cn/status/4740321169377914这两个地址对应的是同一篇微博,实际使用过程中,需要根据拿到的不同地址,灵活判断是否需要转换地址来进行原创 2022-02-24 10:41:07 · 612 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[1-1-01] 系统拓扑结构
在真正开始介绍系统的各个组件之前,我们先来了解一下这套爬虫系统的整体拓扑结构,从物理层面对整套系统有一个感知。一、网络拓扑图从上面图片可以看出,整套系统被规划为两套网络环境,一套公网环境,一套内网环境。实际生产当中,二、公网环境公网环境主要用于代理相关服务(代理池维护、代理调度等)。另外,一部分报告文件我们也会放到阿里云的 OSS 上,便于下载。三、内网环境内网环境是我们整套系统的核心运行环境,各类服务、组件、中间件、控制器等等内容都在这套内网环境中运行。实际上,我们的这套内网环境并不在一原创 2021-02-18 14:21:17 · 24149 阅读 · 1 评论 -
【实现一套爬虫数据抓取平台】[2-2-01] 案例1:快资讯
文章目录零、系列目录一、案例资源二、案例分析三、处理过程定位处理文件定位处理方法代码翻译四、结语零、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转一、案例资源目标站点https://www.360kuai.com/示例页面https://www.360kuai.com/9b091e35e504e3239示例代码https://github.com/BottleMan/BottleSpider/tree/main/00原创 2021-02-22 14:50:26 · 23587 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[3-3-01] 部署 Docker+Nginx+uWSGI+Flask 应用
文章目录零、系列目录一、基本概念1、Docker2、Nginx3、uWSGI4、Flask二、部署结构三、结构分析四、实现步骤1、编写 Flask 应用2、编写 uWSGI 配置文件3、编写 Nginx 配置文件4、编写 Docker 启动脚本5、编写 Docker 镜像构建文件6、编写 docker-compose 文件五、测试1、运行2、检查启动服务3、检查返回结果六、总结零、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转一、基原创 2021-03-09 15:43:44 · 20791 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[3-3-02] CentOS 设置定时任务/计划任务
文章目录0、系列目录1、应用场景2、周期性任务 - crontab安装 crontab创建任务参数解释其他命令3、一次性任务 - at安装 at创建任务查看任务删除任务时间参数4、总结0、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转1、应用场景实际生产中,总有一些任务需要定时执行:定期清理日志定期执行备份定期检测服务是否正常实现的方式也有很多种,可以自己写服务来监测、可以使用 pm2。我们今天介绍两个最简单、最基础原创 2021-03-17 12:11:31 · 16651 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[3-3-03] Ubuntu 如何升级 CMake
文章目录0、系列目录1、背景2、操作步骤3、总结0、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转1、背景安装某些 Python 依赖库的时候,需要特定版本的 Cmake,或者需要高于某些版本的 Cmake,使用 apt 安装的默认版本的 Cmake 版本有些时候会报版本不够的问题,比如:root@localhost:/root# pip install pyre2... running install run原创 2021-03-18 11:11:46 · 16316 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[3-3-04] 使用 Docker-Compose 安装 Kafka
文章目录0、系列目录1、代码0、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转1、代码简单粗暴,直接上代码。version: '2'services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka volumes: -原创 2021-07-07 09:32:39 · 7122 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[3-5-01] 相似文章分析
文章目录零、系列目录一、背景二、技术点三、实现步骤1、将文本分词2、将分词结果向量化3、计算两个向量的余弦相似度四、核心代码五、总结零、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转一、背景爬虫抓回来的文章很多,但有很多是重复或者类似的文章,可能就是某些自媒体的一篇稿件发在了多个平台,或者就是某个品牌方的新闻通稿。针对这样的文章,我们增加了一个归集相同文章的功能。具体的功能点实现可以以后再说,这里主要说说如何判断两篇文章(标题原创 2021-03-05 14:12:13 · 21690 阅读 · 0 评论 -
【实现一套爬虫数据抓取平台】[3-5-02] CentOS 关闭超时进程
文章目录零、系列目录一、背景二、脚本代码三、解析执行步骤代码获取进程 pid获取进程的运行时间四、总结零、系列目录写这套文章的时候,不会完全按照目录的顺序一篇一篇写, 大家可以到目录中直接找到对应的章节进行查看。点我跳转一、背景在运行爬虫的时候,有些任务难免执行超时,针对超时的任务,我们采取的策略就是直接关闭这个任务的进程,避免任务阻塞。二、脚本代码先上干货,有需要的同学可以直接拿走了。完整代码位置:点击跳转。#!/bin/bashfunction kill_timeout_pro原创 2021-03-16 11:56:51 · 17089 阅读 · 0 评论