zoukankan      html  css  js  c++  java
  • 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里面

     

  • 相关阅读:
    有限元方法的核心思想
    由拉格朗日函数推导守恒定律
    codeforces 1181D
    gym 102222 J
    COJ#10C
    已然逝去の夏日泳装
    NC50 E
    codeforces 1147 C
    agc 037 C
    19牛客多校第十场G
  • 原文地址:https://www.cnblogs.com/PoeticalJustice/p/9599957.html
Copyright © 2011-2022 走看看