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里面

posted on 2018-09-06 17:49 PoeticalJustice 阅读(248) 评论(0) 收藏 举报
浙公网安备 33010602011771号