week07 13.1 NewsPipeline之 一 NewsMonitor

我们要重构一下代码

因为我们之前写了utils 我们的NewsPipeline部分也要用到

所以我们把他们单独独立得拿出来

删掉原来的

将requirements。txt也拿出去

 现在我们搬家完成

我们修改一下我们backend里面依赖这些的文件

service。py

不在是同级目录下

而是在父一级 叫common的文件夹下

准备工作完成

下面做一下NewsAPI 的 client

这样后边的news monotor就不会被news api限制 不依赖他

他想用哪个api就用哪个api的client调方法就行了

这是模块化的想法实现和接口分开

我们需要一个库requests

 

不用sudo sudo会全局安装

https://stackoverflow.com/questions/14665330/pip-requirement-already-satisfied

然后再去requirements。txt里面添加

然后我们回来写news_api_client

 

大部分都支持top排序

 

然后我们test一下

包大小写搞错了 然后 loads包忘记加了

 OK 说明木有问题

完了news_api_client

我们要去做news monitor了

我们这里需要redis

然后我们

但是不在一个文件下

所以要

就可以引入2个了

需要一些常量

指定源头 不指定也是她 默认是她 多了 就写进去

建立一个redis client

他就是地请求api

需要一个库 不需要下载 自己带的

 

这里有个神奇的注释可以告诉python都按utf-8来进行编码  所有和爬虫的地方 都要用这个注释

一般设置10s 保持心跳而不断线 

这个sleep方法 在

下面我来测试一下

首先先打开redis服务

然后

来测试一下我们的

额 名字写错了

名字写错了

成功抓了9条新新闻

10s后

以上就是News Monitor 从api获取新闻摘要 再把他放入 Q里面

 

原文地址:https://www.cnblogs.com/PoeticalJustice/p/9599957.html