我们要重构一下代码
因为我们之前写了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里面